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

v10.6.0 proposal #21629

Merged
merged 109 commits into from
Jul 4, 2018
Merged

v10.6.0 proposal #21629

merged 109 commits into from
Jul 4, 2018

Conversation

targos
Copy link
Member

@targos targos commented Jul 3, 2018

2018-07-04, Version 10.6.0 (Current), @targos

Notable Changes

  • dns:
    • An experimental promisified version of the dns module is now available. Give
      it a try with require('dns').promises. #21264
  • fs:
    • fs.lchown has been undeprecated now that libuv supports it. #21498
  • lib:
    • Atomics.wake is being renamed to Atomics.notify in the ECMAScript
      specification (reference).
      Since Node.js now has experimental support for worker threads, we are being
      proactive and added a notify alias, while emitting a warning if
      wake is used. #21413 #21518
  • n-api:
    • Add API for asynchronous functions. #17887
  • util:
    • util.inspect is now able to return a result instead of throwing when the
      maximum call stack size is exceeded during inspection. #20725
  • vm:
    • Add script.createCachedData(). This API replaces the produceCachedData
      option of the Script constructor that is now deprecated. #20300
  • worker:
    • Support for relative paths has been added to the Worker constructor. Paths
      are interpreted relative to the current working directory. #21407

Commits

  • [a526b4e2c7] - atomis: add notify alias (Gus Caplan) #21413
  • [9030e933f4] - benchmark: create napi benchmark directory (Rich Trott) #21046
  • [3d3dbae7d8] - build: remove requirement to re-run ./configure (Anna Henningsen) #21371
  • [a7505c029a] - build: speed up startup with V8 code cache (Joyee Cheung) #21405
  • [7d2fe5d770] - build: improve Travis CI settings (Timothy Gu) #21459
  • [225063184d] - build: fail on instrumentation errors (Benjamin Coe) #21071
  • [6f80e305d0] - build: build addons in parallel on Windows (Bartosz Sosnowski) #21403
  • [42f5ff8346] - build: add crypto check to markdown lint target (Daniel Bevenius) #21326
  • [c214403c1a] - build: fix building with --build-v8-with-gn (Yang Guo) #21330
  • [76ef7acf6d] - (SEMVER-MINOR) build, win: make LTCG optional (Bartosz Sosnowski) #21186
  • [45a83760ec] - crypto: fix UB in computing max message size (Ben Noordhuis) #21462
  • [fefa57a7a4] - crypto: remove outdated comment (Timothy Gu) #21511
  • [e7776c63da] - crypto: refer to correct deprecation id in comment (Michaël Zasso) #21399
  • [b30840da5f] - deps: fix gypi sysroot settings on V8 (Matheus Marchini) #21494
  • [a48d98ef04] - deps: float fix on node-gyp in npm tree (Myles Borins) #21448
  • [fe6d707bc4] - deps: float 0c27d793 from openssl (ECDSA blinding) (Rod Vagg) #21345
  • [f162939c32] - deps: upgrade to libuv 1.21.0 (cjihrig) #21466
  • [62ca2cf21c] - deps: cherry-pick 70c4340 from upstream V8 (Matheus Marchini) #21126
  • [ab27e0e785] - deps: cherry-pick acc336c from upstream V8 (Matheus Marchini) #21126
  • [37a5c8c2ff] - deps: cherry-pick b20faff from upstream V8 (Matheus Marchini) #21126
  • [4663d1c22e] - deps: backport aa6ce3e from upstream V8 (Matheus Marchini) #21126
  • [5d7218965d] - deps: cherry-pick 5dd3395 from upstream V8 (Matheus Marchini) #21386
  • [18179f8ae9] - (SEMVER-MINOR) dns: remove Resolver#cancel() from promises API (cjihrig) #21264
  • [aa864ba4a9] - (SEMVER-MINOR) dns: add promisified dns module (cjihrig) #21264
  • [1d73ba8322] - doc: fix some links (Vse Mozhet Byt) #21619
  • [24bc6ab726] - doc: fix some typos in N-API docs (Vse Mozhet Byt) #21614
  • [cadc74d92d] - doc: fix heading level in errors.md (Vse Mozhet Byt) #21618
  • [eb6dcf2696] - doc: fix typo in fs.md (Hugo Josefson) #21579
  • [e081866f64] - doc: add DataView to appropriate crypto methods (Gerhard Stoebich) #21549
  • [51a434f711] - doc: fix some typos in deprecations.md and vm.md (Vse Mozhet Byt) #21569
  • [0f1d73761d] - doc: fix function name in process.md (Joonas Rouhiainen) #21523
  • [bc28398cbe] - doc: separate unrelated info about child_process.exec() (Charmander) #21516
  • [504c0cdd01] - doc: fix code example and formatting in crypto.md (Victor Belozyorov) #21500
  • [511d610dca] - doc: updated docs to include --experimental-worker flag (Jo Colina) #21461
  • [c050279d23] - doc: add bcoe as collaborator (Benjamin Coe) #21536
  • [f5fc412092] - doc: clarify setServers() methods in dns.md (Shivang Saxena) #21469
  • [4647f61a94] - doc: Improve doc for Http2 headers object (Gerhard Stoebich) #21296
  • [6cca5a8b0e] - doc: update AUTHORS list (Michaël Zasso) #21468
  • [de195d50dd] - doc: update LICENSE file (Rich Trott) #21472
  • [dad782165a] - doc: fix sort in sections, lists, tables of dns.md (Vse Mozhet Byt) #21505
  • [dbd810e5d4] - doc: show options arg to new Worker is optional (Thomas Watson) #21508
  • [23598239d1] - doc: fix HTTP req/res 'close' description (Robert Nagy) #21047
  • [02bc99daa7] - doc: correct parameters, return types in crypto.md (ZaneHannanAU) #21420
  • [5bb6e5c5df] - doc: restore documentation for two error codes (Сковорода Никита Андреевич) #21484
  • [c324b85a15] - doc: sort error codes in errors.md (Сковорода Никита Андреевич) #21485
  • [361e4f250c] - doc: fix list format in cli.md (Vse Mozhet Byt) #21467
  • [8e5104b094] - doc: explain HTTP writeHead()'s fast path behavior (Gireesh Punathil) #21289
  • [8a997a503c] - doc: note synchronous part of child_process.spawn (Jamie Davis) #21234
  • [e94474913e] - doc: add example of using filter with cctest (Daniel Bevenius) #21401
  • [9e3168478c] - doc: fix missing parentPort link in worker_threads (Thomas Watson) #21430
  • [1e5afb7d22] - errors: fix ERR_MISSING_DYNAMIC_INSTANTIATE_HOOK (Сковорода Никита Андреевич) #21493
  • [29299cc50a] - esm: loader hook URL validation and error messages (guybedford) #21352
  • [2e07d4596c] - fs: undeprecate lchown() (cjihrig) #21498
  • [5a71e7941d] - http2: track memory allocated by nghttp2 (Anna Henningsen) #21374
  • [3ba9a445de] - http2: fix memory leak when headers are not emitted (Anna Henningsen) #21373
  • [45fe865fbc] - inspector: use js_app.html as the landing page for chrome devtools (GauthamBanasandra) #21385
  • [d1b750d360] - inspector: add debugging for WebSocket messages (Timothy Gu) #21473
  • [0d98fe6ef9] - lib: fix segfault with --without-intl (Rich Trott) #21589
  • [5cd78ba911] - module: experimental modules runMain separation (guybedford) #21350
  • [c87037286f] - n-api: fix compiler warning (cjihrig) #21597
  • [91384bfe5f] - (SEMVER-MINOR) n-api: add API for asynchronous functions (Gabriel Schulhof) #17887
  • [50f833db07] - net: report uv_tcp_open() errors (cjihrig) #21428
  • [881d99b3e6] - net: validate fds passed to Socket constructor (cjihrig) #21429
  • [0a1e8e0172] - per_context: add warning to Atomics.wake (Gus Caplan) #21518
  • [cd2b80c1f5] - process: avoid using the same fd for ipc and stdio (cjihrig) #21466
  • [2d6b337df9] - process: remove unused arguments in setup() (Joyee Cheung) #21377
  • [1894d6c985] - repl: fix tab completion for object properties with special char (Weijia Wang) #21556
  • [0550a58b08] - src: remove StreamBase::kFlagHasWritev (Anna Henningsen) #21527
  • [a8a7575410] - src: remove extra ReadStop() call (Anna Henningsen) #21528
  • [bb0795a5c5] - src: slightly simplify FSEventWrap (Anna Henningsen) #21533
  • [7acfacbee0] - src: add null check to GetCategoryGroupEnabled() (cjihrig) #21545
  • [eb8d60b447] - src: move context bootstrap to js (Gus Caplan) #21518
  • [54227ee133] - src: add native debugging code to workers (Anna Henningsen) #21423
  • [e0bcb6aa17] - src: avoid common case heap allocation (Ben Noordhuis) #21409
  • [75e07feba8] - src: introduce inspect-brk-node (Daniel Bevenius) #20819
  • [2377aec000] - src: fix debugging for multiple categories (Anna Henningsen) #21422
  • [95fa3c6535] - test: add worker prefix to test-message* tests (Michaël Zasso) #21512
  • [b28fd37a69] - test: fix ESM test (Anna Henningsen) #21605
  • [e7abde44db] - test: add a request-response test for MessageChannel (itaysabato) #21514
  • [623cf11dda] - test: skip non-doc files in test-make-doc checks (Vse Mozhet Byt) #21531
  • [8f1aa3c5e8] - test: use aliases for smart pointers in fixture (Daniel Bevenius) #21419
  • [7e10697ba0] - test: make cctest fixture use node::NewIsolate (Daniel Bevenius) #21419
  • [9f2bf3c1b3] - test: add some test cases for validateOffsetLengthWrite (Keita Akutsu) #21195
  • [245c885abb] - test: fix test-net-socket-constructor (Santiago Gimeno) #21466
  • [357eaf3c95] - test: lint fixes for ESLint update (cjihrig) #20855
  • [bfac7beaf5] - test: move net bytes-per-chunk test to sequential (Rich Trott) #21457
  • [91f111fcb2] - test: remove string error from strictEqual (Fernando Doglio) #21292
  • [2fa49a39e6] - test: add tests for end event of stream.Duplex (Masashi Hirano) #21325
  • [6b40ba11c1] - test: avoid running fsync on directory on AIX (John Barboza) #21298
  • [e038b2fa9a] - test: assert process.setgroups is undefined on windows (Masashi Hirano) #21286
  • [d7ff752e9e] - test: add tests for process.setgroups() (Masashi Hirano) #21286
  • [81046f94ff] - test: move net bytes-per-chunk test to parallel (Anna Henningsen) #21322
  • [9cef72dd21] - test: remove the third string literal argument from assert.strictEqual() (Kevin Thomas) #21406
  • [23f22bc614] - test: check that benchmark tests are minimal (Rich Trott) #21046
  • [29593e20d5] - test: run misc benchmark only once in tests (Rich Trott) #21046
  • [f461ae2f45] - test: move test-benchmark-path to sequential (Rich Trott) #21393
  • [5d6d6fb121] - tools: build all.html by combining generated HTML (Sam Ruby) #21568
  • [21d73a5869] - tools: update ESLint to 5.0.0 (cjihrig) #20855
  • [a1580a0c4e] - tools: fix typo in .eslintrc.js (Christopher Hiller) #21449
  • [7cc979d4d3] - (SEMVER-MINOR) util: recover from maximum call stack size (Ruben Bridgewater) #20725
  • [140836a1bc] - util: fix comment typos (Renée Kooi) #21436
  • [4fc05ac7e1] - (SEMVER-MINOR) vm: add Script.createCodeCache() (Gus Caplan) #20300
  • [97b21862f5] - (SEMVER-MINOR) win, build: generate .sln only when necessary (Bartosz Sosnowski) #21284
  • [ba8ee17de5] - win, build: fix building on 32-bit machines (Bartosz Sosnowski) #21437
  • [206e5bf7af] - worker: support relative paths (itaysabato) #21407
  • [41c4b2c76a] - workers: add test for messagePort.onmessage (Michaël Zasso) #21510
  • [49706b44b7] - workers: replace message types string by constants (Weijia Wang) #21537
  • [fb2592ff12] - workers,trace_events: set thread name for workers (James M Snell) #21246

Trott and others added 30 commits June 20, 2018 21:32
Fixes: #18254

PR-URL: #21393
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Gireesh Punathil <[email protected]>
Reviewed-By: Yuta Hiroto <[email protected]>
Prevent misc benchmark files from running more than one benchmark
during tests.

PR-URL: #21046
Reviewed-By: Anatoli Papirovski <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Move C++ benchmark useful for NAPI to its own directory. This will
isolate the benchmark so it can be excluded from testing that applies to
all other benchmarks but not this one.

PR-URL: #21046
Reviewed-By: Anatoli Papirovski <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Check that benchmark tests are not running longer than necessary by
confirming that they only produce one set of configs to report on per
benchmark file.

PR-URL: #21046
Reviewed-By: Anatoli Papirovski <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #21330
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Refael Ackermann <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Tiancheng "Timothy" Gu <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
PR-URL: #21377
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Gus Caplan <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Tiancheng "Timothy" Gu <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Third string literal argument in assert.strictEqual() needs to be
removed. Otherwise, on AssertionError it would not display the
values that failed the check -- this hinders debugging.
The string literals are added as comments above the check.

PR-URL: #21406
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
PR-URL: #21264
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Because reasons.

PR-URL: #21264
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Set the thread name for workers in trace events. Also,
use uint64_t for thread_id_ because there's really no
reason for those to be doubles

PR-URL: #21246
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Reviewed-By: Gireesh Punathil <[email protected]>
Reviewed-By: Tiancheng "Timothy" Gu <[email protected]>
PR-URL: #21399
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Daniel Bevenius <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Fix parsing of e.g. `NODE_DEBUG_NATIVE=worker,messaging`.

PR-URL: #21422
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
This was added in 3217e8e as
a regression test for a security patch. We moved it to
`sequential` to lower the risk of creating a flaky test,
because an earlier version of it was failing one some platforms.

There is no known reason why te test should be flaky in this form,
though, and moving it to parallel would be good because it does take
around 3 seconds that would otherwise fully count towards the
test run time.

PR-URL: #21322
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
When headers are not emitted to JS, e.g. because of an error
before that could happen, we currently still have the vector of
previously received headers lying around, each one holding
a reference count of 1.

To fix the resulting memory leak, release them in the `Http2Stream`
destructor.

Also, clear the vector of headers once they have been emitted –
there’s not need to keep it around, wasting memory.

PR-URL: #21373
Reviewed-By: Tiancheng "Timothy" Gu <[email protected]>
PR-URL: #21430
Reviewed-By: Vse Mozhet Byt <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #21350
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Gus Caplan <[email protected]>
Reviewed-By: Bradley Farias <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
This commit adds examples of specifying filters when running cctest.
This can be useful when debugging and limiting the test cases run to
the test cases of interest and I think worth documenting.

PR-URL: #21401
Reviewed-By: Ruben Bridgewater <[email protected]>
Added tests to validate process.setgroups() arguments

PR-URL: #21286
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #21286
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
If an application has a large RSS (GB), jorangreef
observed that child_process.spawn will block the
event loop for ms-s.

This is surprising behavior and merits documentation.

Refs: #14917

PR-URL: #21234
Reviewed-By: Gireesh Punathil <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Original commit message:

    [log] improve --perf-basic-prof-only-functions

    Change --perf-basic-prof-only-functions to also log builtin code
    creation events, otherwise InterpretedFunctions generated by
    --interpreted-frames-native-stack will be filtered out.

    [email protected]

    Change-Id: Ib0623fca88e25c514473a43de56ebbbdcb146f97
    Reviewed-on: https://chromium-review.googlesource.com/1100014
    Reviewed-by: Yang Guo <[email protected]>
    Commit-Queue: Yang Guo <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#53760}

Refs: v8/v8@5dd3395

PR-URL: #21386
Reviewed-By: Yang Guo <[email protected]>
Reviewed-By: Gus Caplan <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #21413
Refs: #21219
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Tiancheng "Timothy" Gu <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Refs: #18566

PR-URL: #21449
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Vse Mozhet Byt <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
This commit is a suggestion to add a new option to the node executable
to allow for breaking in node's javascript bootstrapper code.

Previously I've been able to set breakpoints in node bootstrapper code
and then restart the debugging session and those breakpoints would be
hit, but I don't seem to be able to do so anymore. Having this option
would allow me to use this option and then step through or add more
break points as needed.

PR-URL: #20819
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
calling writeHead() into a Response object that has no headers already
set causes getHeader() to return undefined, even if the header was set
in the writeHead() function call. Explain this behavior as an
optimiation as opposed to a bug.

Fixes: #10354
PR-URL: #21289

Reviewed-By: Anatoli Papirovski <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Timothy Gu <[email protected]>
Reviewed-By: Vse Mozhet Byt <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Optimize three functions that pass on (part of) their JS arguments to
the JS function they call by stack-allocating the storage in the common
case.

PR-URL: #21409
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Eugene Ostroukhov <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
Reviewed-By: Tiancheng "Timothy" Gu <[email protected]>
This commit validates the file descriptor passed to the TTY
wrap's guessHandleType() function. Prior to this commit, a bad
file descriptor would trigger an abort in the binding layer.

PR-URL: #21429
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
uv_tcp_open() can fail. Prior to this commit, any error was
being silently ignored. This commit raises the errors.

PR-URL: #21428
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
On AIX the underlying fsync system call returns EBADF on a file
descriptor for an open directory. So avoid running fsync on it.

PR-URL: #21298
Reviewed-By: Gireesh Punathil <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Original commit message:

    [log][api] introduce public CodeEventListener API

    Introduce a new public API called CodeEventListener to allow
    embedders to better support external profilers and other diagnostic
    tools without relying on unsupported methods like --perf-basic-prof.

    Bug: v8:7694
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: I063cc965394d59401358757634c9ea84c11517e9
    Co-authored-by: Daniel Beckert <[email protected]>
    Reviewed-on: https://chromium-review.googlesource.com/1028770
    Commit-Queue: Yang Guo <[email protected]>
    Reviewed-by: Hannes Payer <[email protected]>
    Reviewed-by: Yang Guo <[email protected]>
    Reviewed-by: Andreas Haas <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#53382}

Refs: v8/v8@aa6ce3e

PR-URL: #21126
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@nodejs-github-bot nodejs-github-bot added meta Issues and PRs related to the general management of the project. npm Issues and PRs related to the npm client dependency or the npm registry. openssl Issues and PRs related to the OpenSSL dependency. tools Issues and PRs related to the tools directory. v10.x labels Jul 3, 2018
@targos
Copy link
Member Author

targos commented Jul 3, 2018

targos added a commit that referenced this pull request Jul 3, 2018
Notable changes:

* build:
  * Node.js should now be about 60% faster to startup than the previous version,
    thanks to the use V8's code cache feature for core modules. [#21405](#21405)
* dns:
  * An experimental promisified version of the dns module is now available. Give
    it a try with `require('dns').promises`. [#21264](#21264)
* fs:
  * `fs.lchown` has been undeprecated now that libuv supports it. [#21498](#21498)
* lib:
  * `Atomics.wake` is being renamed to `Atomics.notify` in the ECMAScript
    specification ([reference](tc39/ecma262#1220)).
    Since Node.js now has experimental support for worker threads, we are being
    proactive and added a `notify` alias, while emitting a warning if
    `wake` is used. [#21413](#21413) [#21518](#21518)
* n-api:
  * Add API for asynchronous functions. [#17887](#17887)
* util:
  * `util.inspect` is now able to return a result instead of throwing when the
    maximum call stack size is exceeded during inspection. [#20725](#20725)
* vm:
  * Add `script.createCachedData()`. This API replaces the `produceCachedData`
    option of the `Script` constructor that is now deprecated. [#20300](#20300)
* worker:
  * Support for relative paths has been added to the `Worker` constructor. Paths
    are interpreted relative to the current working directory. [#21407](#21407)

PR-URL: #21629
Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@addaleax
Copy link
Member

addaleax commented Jul 3, 2018

Node.js should now be about 60% faster to startup than the previous version,
thanks to the use V8's code cache feature for core modules

@joyeecheung @targos Can you confirm that this is enabled by default? Maybe I missed something in the PR, but at this point it’s still “just” a configure flag, right?

Notable changes:

* dns:
  * An experimental promisified version of the dns module is now available. Give
    it a try with `require('dns').promises`. [#21264](#21264)
* fs:
  * `fs.lchown` has been undeprecated now that libuv supports it. [#21498](#21498)
* lib:
  * `Atomics.wake` is being renamed to `Atomics.notify` in the ECMAScript
    specification ([reference](tc39/ecma262#1220)).
    Since Node.js now has experimental support for worker threads, we are being
    proactive and added a `notify` alias, while emitting a warning if
    `wake` is used. [#21413](#21413) [#21518](#21518)
* n-api:
  * Add API for asynchronous functions. [#17887](#17887)
* util:
  * `util.inspect` is now able to return a result instead of throwing when the
    maximum call stack size is exceeded during inspection. [#20725](#20725)
* vm:
  * Add `script.createCachedData()`. This API replaces the `produceCachedData`
    option of the `Script` constructor that is now deprecated. [#20300](#20300)
* worker:
  * Support for relative paths has been added to the `Worker` constructor. Paths
    are interpreted relative to the current working directory. [#21407](#21407)

PR-URL: #21629
@targos
Copy link
Member Author

targos commented Jul 4, 2018

@addaleax Good catch! I didn't follow the PR closely and got misled by the commit message. I removed this point from the changelog.

@targos
Copy link
Member Author

targos commented Jul 4, 2018

@joyeecheung
Copy link
Member

@targos @addaleax Yeah, the code cache has not been integrated into release builds yet, tracking issue in #21563

@targos
Copy link
Member Author

targos commented Jul 4, 2018

Starting promotion now

@targos targos merged commit 4716fd1 into v10.x Jul 4, 2018
targos added a commit that referenced this pull request Jul 4, 2018
targos added a commit that referenced this pull request Jul 4, 2018
Notable changes:

* dns:
  * An experimental promisified version of the dns module is now available. Give
    it a try with `require('dns').promises`. [#21264](#21264)
* fs:
  * `fs.lchown` has been undeprecated now that libuv supports it. [#21498](#21498)
* lib:
  * `Atomics.wake` is being renamed to `Atomics.notify` in the ECMAScript
    specification ([reference](tc39/ecma262#1220)).
    Since Node.js now has experimental support for worker threads, we are being
    proactive and added a `notify` alias, while emitting a warning if
    `wake` is used. [#21413](#21413) [#21518](#21518)
* n-api:
  * Add API for asynchronous functions. [#17887](#17887)
* util:
  * `util.inspect` is now able to return a result instead of throwing when the
    maximum call stack size is exceeded during inspection. [#20725](#20725)
* vm:
  * Add `script.createCachedData()`. This API replaces the `produceCachedData`
    option of the `Script` constructor that is now deprecated. [#20300](#20300)
* worker:
  * Support for relative paths has been added to the `Worker` constructor. Paths
    are interpreted relative to the current working directory. [#21407](#21407)

PR-URL: #21629
targos added a commit to nodejs/nodejs.org that referenced this pull request Jul 4, 2018
targos added a commit to nodejs/nodejs.org that referenced this pull request Jul 4, 2018
@targos targos deleted the v10.6.0-proposal branch July 4, 2018 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. libuv Issues and PRs related to the libuv dependency or the uv binding. meta Issues and PRs related to the general management of the project. npm Issues and PRs related to the npm client dependency or the npm registry. openssl Issues and PRs related to the OpenSSL dependency. tools Issues and PRs related to the tools directory.
Projects
None yet
Development

Successfully merging this pull request may close these issues.