Skip to content

Conversation

@targos
Copy link
Member

@targos targos commented Apr 27, 2019

2019-04-29, Version 12.1.0 (Current), @targos

Notable changes

  • intl:
    • Update ICU to 64.2. This adds support for Japanese Era (Reiwa) (Ujjwal Sharma) #27361.
    • Fixes a bug in ICU that affected Node.js 12.0.0 in the case where new Date().toLocaleString() was called with a non-default locale (Steven R. Loomis) #27415.
  • C++ API:
    • Added an Environment overload of EmitAsyncDestroy (Anna Henningsen) #27255.

Commits

  • [8ca110cc6f] - benchmark: fix http bench-parser.js (Rich Trott) #27359
  • [2f9bafba08] - bootstrap: delay the instantiation of maps in per-context scripts (Joyee Cheung) #27371
  • [e7026f1428] - build: allow icu download to use other hashes besides md5 (Steven R. Loomis) #27370
  • [50234460f9] - build: disable custom v8 snapshot by default (Joyee Cheung) #27365
  • [b21b28f653] - crypto: update root certificates (Sam Roberts) #27374
  • [3282ccb845] - deps: backport ICU-20575 to fix err/crasher (Steven R. Loomis) #27435
  • [e922a22725] - deps: backport ICU-20558 to fix Intl crasher (Steven R. Loomis) #27415
  • [d852d9e904] - deps: update ICU to 64.2 (Ujjwal Sharma) #27361
  • [ee80a210ff] - dgram: change 'this' to 'self' for 'isConnected' (MaleDong) #27338
  • [8302148c83] - doc: add Node 12 to the first list of versions (Rivaldo Junior) #27414
  • [f6ceefa4bd] - doc: update comment in bootstrap for primordials (Myles Borins) #27398
  • [9c30806fb5] - doc: simplify GOVERNANCE.md text (Rich Trott) #27354
  • [453510c7ef] - doc: fix pull request number (Ruben Bridgewater) #27336
  • [36762883a0] - doc: clarify behaviour of writeFile(fd) (Sam Roberts) #27282
  • [f70588fb67] - doc: fix v12.0.0 changelog id (Beth Griggs) #27368
  • [a6d1fa5954] - doc: simplify Collaborator pre-nomination text (Rich Trott) #27348
  • [dd709fc84a] - lib: throw a special error in internal/assert (Joyee Cheung) #26635
  • [4dfe54a89a] - module: initialize module_wrap.callbackMap during pre-execution (Joyee Cheung) #27323
  • [8b5d73867f] - (SEMVER-MINOR) n-api: do not require JS Context for napi\_async\_destroy() (Anna Henningsen) #27255
  • [dc510fb435] - report: print common items first for readability (gengjiawen) #27367
  • [3614a00276] - src: refactor deprecated UVException in node_file.cc (gengjiawen) #27280
  • [071300b39d] - src: move OnMessage to node_errors.cc (Joyee Cheung) #27304
  • [81e7b49c8f] - src: use predefined AliasedBuffer types in the code base (Joyee Cheung) #27334
  • [8089d29567] - src: apply clang-tidy modernize-deprecated-headers found by Jenkins CI (gengjiawen) #27279
  • [619c5b6eb3] - (SEMVER-MINOR) src: do not require JS Context for \~AsyncResoure() (Anna Henningsen) #27255
  • [809cf595eb] - (SEMVER-MINOR) src: add Environment overload of EmitAsyncDestroy (Anna Henningsen) #27255
  • [7bc47cba2e] - src: apply clang-tidy rule modernize-use-equals-default (gengjiawen) #27264
  • [ad42cd69cf] - src: use std::vector<size_t> instead of IndexArray (Joyee Cheung) #27321
  • [228127fc67] - src: enable context snapshot after running per-context scripts (Joyee Cheung) #27321
  • [45d6106129] - src: enable snapshot with per-isolate data (Joyee Cheung) #27321
  • [631bea8fd2] - src: implement IsolateData serialization and deserialization (Joyee Cheung) #27321
  • [a636338945] - src: allow creating NodeMainInstance that does not own the isolate (Joyee Cheung) #27321
  • [50732c1b3f] - test: refactor net-connect-handle-econnrefused (Luigi Pinca) #27014
  • [e9021cc498] - test: move test-net-connect-handle-econnrefused (Luigi Pinca) #27014
  • [ebbed6047d] - test: rework to remove flakiness, and be parallel (Sam Roberts) #27300
  • [f0b2992f5c] - test: fix ineffective error tests (Masashi Hirano) #27333
  • [d84a6d05a1] - test: make test-worker-esm-missing-main more robust (Rich Trott) #27340
  • [8486917b9a] - test: increase coverage in lib/internal/dns/promises.js (Rich Trott) #27330
  • [6ca0270320] - tls: include invalid method name in thrown error (Sam Roberts) #27390
  • [dcbe5b9dff] - tools: update certdata.txt (Sam Roberts) #27374
  • [53f0ef36c0] - tools: update LICENSE and tools/icu/current_ver.dep (Ujjwal Sharma) #27361
  • [481789c235] - tools: fix use-after-free mkcodecache warning (Ben Noordhuis) #27332
  • [d62a3243b1] - tools: update tools/license-builder.sh (Ujjwal Sharma) #27362
  • [b44323f3de] - tools: implement node_mksnapshot (Joyee Cheung) #27321
  • [ae2333db65] - util: add prototype support for boxed primitives (Ruben Bridgewater) #27351
  • [8f3442809a] - util: rename setIteratorBraces to getIteratorBraces (Ruben Bridgewater) #27342
  • [973d705aa9] - util: improve Symbol.toStringTag handling (Ruben Bridgewater) #27342
joyeecheung and others added 30 commits April 27, 2019 11:35
Allows instantiating a NodeMainInstance with an isolate whose initialization and disposal are controlled by the caller. PR-URL: #27321 Refs: #17058 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This patch allows serializing per-isolate data into an isolate snapshot and deserializing them from an isolate snapthot. PR-URL: #27321 Refs: #17058 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Implements a node_mksnapshot target that generates a snapshot blob from a Node.js main instance's isolate, and serializes the data blob with other additional data into a C++ file that can be embedded into the Node.js binary. PR-URL: #27321 Refs: #17058 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Enable serializing the isolate from an isolate snapshot generated by node_mksnapshot with per-isolate data. PR-URL: #27321 Refs: #17058 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
At build time, snapshot the context after running per-context scripts in the main instance, and in the final build, deserialize the context in the main instance. This provides a ~5% in the misc/startup benchmark when the instance is launched within a process that runs test/fixtures/semicolon.js. PR-URL: #27321 Refs: #17058 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: #27321 Refs: #17058 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Split one very long sentence into three shorter sentences. PR-URL: #27348 Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Update tools/license-builder.sh in order to work normally after jinja2 and markupsafe were moved from tools/ to tools/inspector_protocol/ in an earlier commit. Refs: #25614 PR-URL: #27362 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
This currently breaks `test/pummel/test-hash-seed.js` PR-URL: #27365 Refs: #27321 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
PR-URL: #27368 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
The internal HTTParser `reinitialize()` function was removed in ece5073 and replaced with an `initialize()` function. This broke benchmark/http/bench-parser.js. This change updates the benchmark so that it runs again. PR-URL: #27359 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Add a test for the only uncovered code in lib/internal/dns/promises.js. PR-URL: #27330 Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
The function 'isConnected' is directly called by many 'Socket' instance, so we shouldn't directly use 'this' because 'this' will be the self of function itself, and we should use 'self' as the instance of 'Socket' function. PR-URL: #27338 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
test-worker-esm-missing-main failed in CI recently in a way that suggests that maybe the `does-not-exist.js` file did in fact exist. Maybe that isn't what happened at all, but let's rule it out by changing the use of `does-not-exist.js` from a file expected to be missing from the current working directory to a file in the temp directory, which the test will remove and recreate at the outset. PR-URL: #27340 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Fix tests whether errors are thrown correctly because they are successful when error doesn't get thrown. PR-URL: #27333 Fixes: #26385 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Call `v8::Platform::ShutdownPlatform()` to fix a Coverity warning about the `v8::Platform` instance being deleted when it's still in use. PR-URL: #27332 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This is a continuing source of confusion, attempt to make it even more clear. Fixes: #24923 PR-URL: #27282 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
PR-URL: #27264 Reviewed-By: Refael Ackermann <refack@gmail.com>
This can be necessary for being able to call the function when no JS Context is on the stack, e.g. during GC. Refs: #27218 PR-URL: #27255 Fixes: #27218 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Allow the function to be called during GC, which is a common use case. Fixes: #27218 PR-URL: #27255 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Allow the destructor to be called during GC, which is a common use case. PR-URL: #27255 Fixes: #27218 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
This fixes a pull request number in `repl.md`. PR-URL: #27336 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Instead of using the public AssertionError, use a simplified error that describes potential causes of these assertions and suggests the user to open an issue. PR-URL: #26635 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Since the bootstrap does not actually use ESM at all, there is no need to create this map so early. This patch moves the initialization of the map to pre-execution, so that the only binding loaded in loaders is native_module. In addition, switch to SafeWeakMap. PR-URL: #27323 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Only special handle `Symbol.toStringTag` if the property is not enumerable or not the own property of the inspected object. PR-URL: #27342 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
The function is actually a getter, not a setter. PR-URL: #27342 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Let .end() propogate from client, to server, and back, before considering the test complete. Also, remove the test vector and exit handling in favour of running all the tests in parallel and using common.must/mustNotCall(). PR-URL: #27300 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Update the version of the bundled ICU (deps/icu-small) to ICU version 64.2 (Unicode 12, CLDR 35) Fixes: #26388 PR-URL: #27361 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Steven R Loomis <srloomis@us.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Update the LICENSE file and tools/icu/current_ver.dep file in order to finalize the upgrade to ICU 64.2 PR-URL: #27361 Fixes: #26388 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Steven R Loomis <srloomis@us.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
This is the certdata.txt[0] from NSS 3.43, released on 2019-03-15. This is the version of NSS that will ship in Firefox 67 on 2019-03-19. [0] https://hg.mozilla.org/projects/nss/raw-file/NSS_3_43_RTM/lib/ckfw/builtins/certdata.txt PR-URL: #27374 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
@refack
Copy link
Contributor

refack commented Apr 27, 2019

RE: 50234460f9 & b44323f3de I see them already there, and they should stay together (Either both in or both out).
https://ci.nodejs.org/job/node-release-candidate/3/ to make sure the pummel test suite passes.

@targos
Copy link
Member Author

targos commented Apr 27, 2019

@srl295 It's a crasher but IIUC it affects only ICU 64, which never was in a Node.js release, so I think we can keep it out of the notable changes.

@targos
Copy link
Member Author

targos commented Apr 27, 2019

@refack is https://ci.nodejs.org/job/node-release-candidate ready for production? We should update the release guide if that's the case.

@refack
Copy link
Contributor

refack commented Apr 27, 2019

@refack is https://ci.nodejs.org/job/node-release-candidate ready for production? We should update the release guide if that's the case.

You tell me... I did the best I could, now it just needs some QA.

@targos
Copy link
Member Author

targos commented Apr 27, 2019

@mcollina is readable-stream expected to fail?

The error is:

 /home/iojs/build/workspace/citgm-smoker/nodes/debian9-64/citgm_tmp/9700a236-12e4-47f2-9bee-da4d38355a1d/readable-stream/node_modules/assert/assert.js:195 throw new assert.AssertionError({ ^ AssertionError: 'Unexpected global(s) found: queueMicrotask' === 'kaboom' at process.<anonymous> (/home/iojs/build/workspace/citgm-smoker/nodes/debian9-64/citgm_tmp/9700a236-12e4-47f2-9bee-da4d38355a1d/readable-stream/test/parallel/test-stream-pipeline.js:458:12) at process.<anonymous> (/home/iojs/build/workspace/citgm-smoker/nodes/debian9-64/citgm_tmp/9700a236-12e4-47f2-9bee-da4d38355a1d/readable-stream/test/common/index.js:371:15) at process.emit (events.js:201:15) at process.emit (/home/iojs/build/workspace/citgm-smoker/nodes/debian9-64/citgm_tmp/9700a236-12e4-47f2-9bee-da4d38355a1d/readable-stream/node_modules/source-map-support/source-map-support.js:465:21) at processEmit [as emit] (/home/iojs/build/workspace/citgm-smoker/nodes/debian9-64/citgm_tmp/9700a236-12e4-47f2-9bee-da4d38355a1d/readable-stream/node_modules/signal-exit/index.js:155:32) at process._fatalException (internal/process/execution.js:146:25) 
@BridgeAR
Copy link
Member

@targos readable-streams pulls in the Node.js tests and we verify in common/index.js that we always have a whitelist of globals at the end of the test. Since this whitelist is not updated to the newest version, it's expected to fail (and does so since queueMicrotask is not experimental anymore).

@srl295
Copy link
Member

srl295 commented Apr 28, 2019

@targos i wasn't sure both crashers made it into the proposal, but i see they are there. So all LGTM

@targos
Copy link
Member Author

targos commented Apr 29, 2019

@gireeshpunathil If it doesn't land by noon UTC today, it'll have to wait for the next release.

@gireeshpunathil
Copy link
Member

sure, I posted a comment in #27373 , let us see if it receives any response.

joyeecheung and others added 2 commits April 29, 2019 14:32
Previously, we call the JS land `runNextTicks` implementation immediately from JS land after evaluating the main module or the input, so these synchronous JS call frames would show up in the stack trace of the async errors, which can be confusing. This patch moves those calls into C++ so that more of these internal scheduler implementation details can be hidden and the users can see a cleaner a cleaner async JS stack trace. PR-URL: #27392 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Minwoo Jung <minwoo@nodesource.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Notable changes: * intl: * Update ICU to 64.2. This adds support for Japanese Era (Reiwa). #27361 * Fixes a bug in ICU that affected Node.js 12.0.0 in the case where `new Date().toLocaleString()` was called with a non-default locale. #27415 * C++ API: * Added an overload of `EmitAsyncDestroy` that can be used during garbage collection. #27255 PR-URL: #27440
@targos targos force-pushed the v12.1.0-proposal branch from 36842d7 to bf12414 Compare April 29, 2019 12:37
@targos
Copy link
Member Author

targos commented Apr 29, 2019

@targos
Copy link
Member Author

targos commented Apr 29, 2019

node-test-linux-linked-withoutintl failed:

14:42:15 not ok 2077 parallel/test-util-inspect 14:42:15 --- 14:42:15 duration_ms: 0.213 14:42:15 severity: fail 14:42:15 exitcode: 1 14:42:15 stack: |- 14:42:15 assert.js:89 14:42:15 throw new AssertionError(obj); 14:42:15 ^ 14:42:15 14:42:15 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: 14:42:15 + actual - expected 14:42:15 14:42:15 + 'WeakSet { }' 14:42:15 - 'WeakSet { ... 2 more items }' 14:42:15 ^ 14:42:15 at Object.<anonymous> (/home/iojs/build/workspace/node-test-commit-linux-containered/test/parallel/test-util-inspect.js:1655:10) 14:42:15 at Module._compile (internal/modules/cjs/loader.js:759:30) 14:42:15 at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10) 14:42:15 at Module.load (internal/modules/cjs/loader.js:628:32) 14:42:15 at Function.Module._load (internal/modules/cjs/loader.js:555:12) 14:42:15 at Function.Module.runMain (internal/modules/cjs/loader.js:824:10) 14:42:15 at internal/main/run_main_module.js:17:11 

@BridgeAR any idea how that could happen? It did not fail two days ago and I only added d00014e today.

@targos
Copy link
Member Author

targos commented Apr 29, 2019

It passed on rebuild, weird...

@gireeshpunathil
Copy link
Member

@targos - sorry if this is delayed; but here is the commit from #27373 : cc7b3fb thanks!

@targos targos merged commit bf12414 into v12.x Apr 29, 2019
targos added a commit that referenced this pull request Apr 29, 2019
targos added a commit that referenced this pull request Apr 29, 2019
Notable changes: * intl: * Update ICU to 64.2. This adds support for Japanese Era (Reiwa). #27361 * Fixes a bug in ICU that affected Node.js 12.0.0 in the case where `new Date().toLocaleString()` was called with a non-default locale. #27415 * C++ API: * Added an overload of `EmitAsyncDestroy` that can be used during garbage collection. #27255 PR-URL: #27440
targos added a commit to nodejs/nodejs.org that referenced this pull request Apr 29, 2019
targos added a commit to nodejs/nodejs.org that referenced this pull request Apr 29, 2019
@targos targos deleted the v12.1.0-proposal branch April 29, 2019 14:45
@targos targos added release Issues and PRs related to Node.js releases. and removed build Issues and PRs related to build files or the CI. meta Issues and PRs related to the general management of the project. labels Jun 6, 2021
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.