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.7.0 proposal #21851

Merged
merged 116 commits into from Jul 18, 2018
Merged

v10.7.0 proposal #21851

merged 116 commits into from Jul 18, 2018

Conversation

targos
Copy link
Member

@targos targos commented Jul 17, 2018

2018-07-18, Version 10.7.0 (Current), @targos

Notable Changes

  • console:
    • The console.timeLog() method has been implemented. #21312
  • deps:
    • Upgrade to libuv 1.22.0. #21731
    • Upgrade to ICU 62.1 (Unicode 11, CLDR 33.1). #21728
  • http:
    • Added support for passing both timeout and agent options to
      http.request. #21204
  • inspector:
    • Expose the original console API in require('inspector').console. #21659
  • napi:
    • Added experimental support for functions dealing with bigint numbers. #21226
  • process:
    • The process.hrtime.bigint() method has been implemented. #21256
    • Added the --title command line argument to set the process title on
      startup. #21477
  • trace_events:
    • Added process_name metadata. #21477
  • Added new collaborators

Commits

  • [8c97ffb2f5] - assert: improve simple assert (Ruben Bridgewater) #21626
  • [9776f1cbef] - benchmark: add n-api function args benchmark (Kenny Yuan) #21555
  • [576f1ea978] - buffer: remove superfluous assignment (Tobias Nießen) #21844
  • [6bb2b5a51d] - build: account for pure C sources in build-addons-napi (Anna Henningsen) #21797
  • [c02fb88936] - build: enabling lto at configure (Octavian Soldea) #21677
  • [2a0862cec9] - console: fix timeEnd() not coercing the input (Ruben Bridgewater) #21779
  • [f3c397cd21] - (SEMVER-MINOR) console: implement timeLog method (Michaël Zasso) #21312
  • [73cafd853c] - console,util: avoid pair array generation in C++ (Anna Henningsen) #20831
  • [d9825c7a16] - crypto: prevent Sign::SignFinal from crashing (Tobias Nießen) #21815
  • [07cce880bf] - crypto: handle OpenSSL error queue in CipherBase (Tobias Nießen) #21288
  • [355c5e3c95] - deps: cherry-pick 555c811 from upstream V8 (Anna Henningsen) #21741
  • [42d75392c5] - deps: patch V8 to 6.7.288.49 (Myles Borins) #21727
  • [6920091488] - deps: upgrade to libuv 1.22.0 (cjihrig) #21731
  • [122ae24f62] - deps: icu 62.1 bump (Unicode 11, CLDR 33.1) (Steven R. Loomis) #21728
  • [a5233c7e17] - deps: cherry-pick 477df06 from upstream v8 (Gus Caplan) #21644
  • [506631a9f9] - doc: fix structure and formatting in inspector.md (Vse Mozhet Byt) #21709
  • [53b587a5af] - doc: add documentation for buffer.byteOffset (Andreas Madsen) #21718
  • [51dfebf9ac] - doc: fix vm.runInNewContext signature (Michaël Zasso) #21824
  • [10f9374ea3] - doc: make markdown input compliant (Sam Ruby) #21780
  • [02982998db] - doc: add my pronoun (Ruben Bridgewater) #21813
  • [ca8c96035a] - doc: update readme with my pronouns (Lance Ball) #21818
  • [d33281b36f] - doc: prevent some redirections (Vse Mozhet Byt) #21811
  • [0de0f89d0c] - doc: add "Edit on GitHub" link (Rich Trott) #21703
  • [7ab6efdb94] - doc: add policy for landing new npm releases (Myles Borins) #21594
  • [3d93273bf7] - doc: add OS X to instead of only macOS (XadillaX) #21033
  • [577d24baa4] - doc: fix module.children description (Travis Fischer) #21672
  • [cd6601b87a] - doc: fix HTTP res 'finish' description (Sergey Zelenov) #21670
  • [51db88b0f1] - doc: fix http2stream.pushStream error doc (Сковорода Никита Андреевич) #21487
  • [6e1917a596] - doc: update changelog with 9.x EOL (Сковорода Никита Андреевич) #21612
  • [cd77d8782a] - doc: improve documentation of fs sync methods (iwko) #21243
  • [1044bafec4] - doc: remove _Node.js style callback_ (Rich Trott) #21701
  • [971679328e] - doc: add codebytere as collaborator (Shelley Vohr) #21700
  • [034fe19862] - doc: add links to inline HTML table (Rich Trott) #21678
  • [04eed2342d] - doc: remove "note that" from fs doc (Rich Trott) #21646
  • [c8d5bab022] - doc: fix doc for napi_create_function (Gabriel Schulhof)
  • [f7aa22a0eb] - doc: improve guide text for CI runs (Rich Trott) #21645
  • [6f8ebc08b9] - doc: unify spelling of backpressure (Thomas Watson) #21630
  • [3fffc7e95f] - errors: fix undefined HTTP2 and tls errors (Shailesh Shekhawat) #21564
  • [b758006c23] - fs: fix fsPromises.lchmod error on non-Mac (Masashi Hirano) #21435
  • [4fa7150962] - fs: support pseudofiles in promises.readFile (Timothy Gu) #21497
  • [bba500d0ea] - (SEMVER-MINOR) http: fix request with option timeout and agent (killagu) #21204
  • [0b3c80ca31] - http2: fix issues with aborted respondWithFile()s (Anna Henningsen) #21561
  • [238ef58841] - http2: remove waitTrailers listener after closing a stream (RidgeA) #21764
  • [07160cd2fd] - http2: order declarations in core.js (Rich Trott) #21689
  • [c88af232c8] - http2: pass incoming set-cookie header as array (Gerhard Stoebich) #21360
  • [2922028362] - (SEMVER-MINOR) inspector: expose original console (Matteo Collina) #21659
  • [b2291296ef] - inspector: split main thread interface from transport (Eugene Ostroukhov) #21182
  • [4ed4bf3bdd] - lib: update punycode to 2.1.1 (Rich Trott) #21768
  • [4433ecbf30] - lib: refactor cli table (Ruben Bridgewater) #20960
  • [92d79212ec] - lib: consolidate redundant require() calls (cjihrig) #21699
  • [ed774b7930] - messaging: fix edge cases with transferring ports (Timothy Gu) #21540
  • [221c8bd58f] - messaging: use actual DOMException for DataCloneError (Timothy Gu) #21540
  • [4f3bbfaaca] - n-api: test uint32 truncation (Gabriel Schulhof) #21722
  • [b8ba003fbf] - n-api: remove experimental gate from status codes (Gabriel Schulhof) #21680
  • [109c59971a] - n-api: create functions directly (Gabriel Schulhof) #21688
  • [cec166e85f] - n-api: restrict exports by version (Kyle Farnung) #19962
  • [3096ee5a4b] - (SEMVER-MINOR) napi: add bigint support (Gus Caplan) #21226
  • [581390c59d] - process: split bootstrappers by threads that can run them (Joyee Cheung) #21378
  • [f1b18ba412] - (SEMVER-MINOR) process: implement process.hrtime.bigint() (Joyee Cheung) #21256
  • [961f6e8623] - process: fix process.exitCode handling for fatalException (Denys Otrishko) #21739
  • [4b613d3976] - repl: make own properties shadow prototype properties (Sam Ruby) #21588
  • [1019c2d317] - src: fix async hooks crashing when there is no node context (Javier Gonzalez) #19134
  • [a9a718696e] - src: make heap snapshot & embedder graph accessible for tests (Anna Henningsen) #21741
  • [5121278f5c] - src: use V8 graph heap snapshot API (Anna Henningsen) #21741
  • [d42dbde1a8] - src: add iteration over all base objects to Environment (Anna Henningsen) #21741
  • [4ed5d1a623] - src: add HandleWrap::AddWrapMethods (Jon Moss) #21769
  • [51d613db2d] - src: start annotating native code side effect (Timothy Gu) #21458
  • [466601f47f] - src: remove .h if -inl.h is already included (Daniel Bevenius) #21381
  • [a68b7dda5f] - src: add node_process.cc (James M Snell) #21105
  • [cb698111c4] - src: add comment on CallbackScope exception behaviour (Anna Henningsen) #21743
  • [712809eb1b] - src: enable more detailed memory tracking (Anna Henningsen) #21742
  • [277077853f] - src: make Environment::is_stopping_worker inline (Jon Moss) #21720
  • [d06305635d] - (SEMVER-MINOR) src: add --title command line argument (James M Snell) #21477
  • [ceec23e6e4] - src: remove using directives from spawn_sync.h (Daniel Bevenius) #21634
  • [3a627c830b] - src: add context-aware init macro and doc (Gabriel Schulhof) #21318
  • [aa5994f2b9] - src,tools: use https://nodejs.org URL when possible. (XhmikosR) #21719
  • [0108ff6b51] - test: add support for NODE_TEST_DIR on a separate mount point (Antoine du HAMEL) #21552
  • [eef975ebae] - test: move inspector test back to parallel, unmark flaky (Anna Henningsen) #21806
  • [67908e9933] - test: fix build warnings in bigint N-API test (Anna Henningsen) #21796
  • [6b72583bf8] - test: refactor test-tls-connect-memleak, move to parallel (Anna Henningsen) #21794
  • [174a9db51a] - test: refactor test-net-connect-memleak, move to parallel (Anna Henningsen) #21794
  • [b338ff54bb] - test: add gc tracking to common API (Anna Henningsen) #21794
  • [4e60ce8f87] - test: fix flaky test-debug-prompt (Rich Trott) #21826
  • [a2edb59870] - test: fix comment of fs.promises write (Ryuichi Sakagami) #21708
  • [32ad163038] - test: add test of fs.promises write for non-string buffers (Ryuichi Sakagami) #21708
  • [7352b72fc9] - test: add heap snapshot tests (Anna Henningsen) #21741
  • [678313d18b] - test: add filehandle sync() and datasync() tests (Masashi Hirano) #20530
  • [a09bdb5847] - test: improve console table error output (Ruben Bridgewater) #20960
  • [600349aaba] - test: refactor process/worker exitCode tests (Denys Otrishko) #21739
  • [15026511b8] - test: remove timer in fs.watchFile() test (Rich Trott) #21694
  • [ae5d5658b9] - test: fix flaky watchFile() (Rich Trott) #21694
  • [ada3f34cd4] - test: fix weird string error (Jon Moss) #21793
  • [f46536be23] - test: fix timeouts when running worker tests with --worker (Anna Henningsen) #21791
  • [f386c0a517] - test: add test for dns.promises.resolve . (Keita Akutsu) #21691
  • [11e9b4ecee] - test: fix parallel/test-tls-env-extra-ca.js (Niicck) #21647
  • [eda7fffba4] - test: swap arguments in strictEqual() (Sohail Rajdev) #21660
  • [194d1955a7] - test: fix test-tls-connect-memleak (Rich Trott) #21681
  • [24f649c8cf] - test: fix pummel/test-net-connect-memleak (Rich Trott) #21658
  • [021dd5404c] - test: remove unnecessary string literals (Jacek Pospychała) #21638
  • [47b10e30c0] - test: replace third argument with comment in strict equals (Developer Davo) #21603
  • [25dac95164] - test: fix args passed to strictEqual (Haroon Khan) #21584
  • [fe9888a34a] - test: check type for Worker filename argument (Masashi Hirano) #21620
  • [9cd5c0ec79] - test: add test for missing dynamic instantiate hook (Michaël Zasso) #21506
  • [dc84858787] - test,util: add missing tests and conditions (MaleDong) #21455
  • [c26ba082ae] - tools: avoid global install of dmn for lint update (Rich Trott) #21744
  • [e030dd7d65] - tools: add no-duplicate-requires rule (Gus Caplan) #21712
  • [b9bbbbe5d1] - tools: build all.json by combining generated JSON (Sam Ruby) #21637
  • [214c608208] - tools: lint doc code examples in strict mode (Vse Mozhet Byt) #21615
  • [27d17d4600] - trace_events: add traced_value.cc/traced_value.h (James M Snell) #21475
  • [c4d7413a15] - (SEMVER-MINOR) trace_events: add process_name metadata (James M Snell) #21477
  • [b0943a655e] - worker: exit after uncaught exception (Denys Otrishko) #21739
  • [25fef3d8d4] - workers: fix invalid exit code in parent upon uncaught exception (Denys Otrishko) #21713
  • [48b16aad47] - zlib: instance-ify two methods (Jon Moss) #21702
  • [dae7130929] - zlib: track memory allocated by zlib (Anna Henningsen) #21608
  • [96dae83713] - zlib: fix memory leak for unused zlib instances (Anna Henningsen) #21607

targos and others added 30 commits July 4, 2018 20:43
PR-URL: #21506
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
An oversight in an earlier commit led to a memory leak
in the untypical situation that zlib instances are created
but never used, because zlib handles no longer started
out their life as weak handles.

The bug was introduced in bd20110.

Refs: #20455

PR-URL: #21607
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Introduces macros `NODE_MODULE_INITIALIZER` which expands to the name
of the special symbol that process.dlopen() will look for to initialize
an addon, and `NODE_MODULE_INIT()` which creates the boilerplate for
a context-aware module which can be loaded multiple times via the
special symbol mechanism.

Additionally, provides an example of using the new macro to construct
an addon which stores per-addon-instance data in a heap-allocated
structure that gets passed to each binding, rather than in a collection
of global static variables.

Re: #21291 (comment)
PR-URL: #21318
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
PR-URL: #21540
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Currently, transferring the port on which postMessage is called causes a
segmentation fault, and transferring the target port causes a subsequent
port.onmessage setting to throw, or a deadlock if onmessage is set
before the postMessage. Fix both of these behaviors and align the
methods more closely with the normative definitions in the HTML
Standard.

Also, per spec postMessage must not throw just because the ports are
disentangled. Implement that behavior.

PR-URL: #21540
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Add test to check type for first argument of Worker to increase
coverage.

PR-URL: #21620
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
The third argument passed to asert.strictEqual() displays the message
passed as third argument and does not report the difference between
actual and expected if the test is failing.
Hence, the third argument has been removed.

PR-URL: #21584
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #21630
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #21497
Fixes: #21331
Refs: http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html
Refs: https://groups.google.com/forum/#!topic/nodejs-dev/rxZ_RoH1Gn0
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
PR-URL: #21603
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Refs: whatwg/console#138

PR-URL: #21312
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Weijia Wang <starkwang@126.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
I noticed that there were a few using declarations what were unused and
instead of just removing them, this commit removes all of them and uses
qualified names instead since they are in a header.

PR-URL: #21634
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Incoming set-cookie headers should be passed to user as array like in
http module.

Besides improving compatibility between http and http2 it avoids the
need to check if the type is an array or not in user code.

PR-URL: #21360
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
PR-URL: #21638
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
* Move `napi_get_uv_event_loop` into the `NAPI_VERSION >= 2` section
* Move `napi_open_callback_scope`, `napi_close_callback_scope`,
  `napi_fatal_exception`, `napi_add_env_cleanup_hook`, and
  `napi_remove_env_cleanup_hook` into the `NAPI_VERSION >= 3` section
* Added a missing `added` property to `napi_get_uv_event_loop` in the
  docs
* Added a `napiVersion` property to the docs and updated the parser and
  generator to use it.
* Added usage documentation

PR-URL: #19962
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Original commit message:

    [API] Expand BigInt API

    Provide a more complete BigInt API.

    Bug: v8:7712
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: Ic8562d616f3125deabdf8b52c7019b191bef0e07
    Reviewed-on: chromium-review.googlesource.com/1101198
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54122}

PR-URL: #21644
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Make the text about CI runs in the COLLABORATOR_GUIDE more concise. Add
information about Resume Build which should generally be preferred over
Rebuild.

PR-URL: #21645
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
This benchmark suite is added to measure the performance of n-api
function call with various type/number of arguments. The cases in
this suite are carefully selected to efficiently show the performance
trend.

PR-URL: #21555
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Reviewed-By: Kyle Farnung <kfarnung@microsoft.com>
Merge the two duplicate entries for `napi_create_function()`.

Fixes: #21606
PR-URL: #21627
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Remove "note that" from the fs documentation, along with other minor
nearby improvements.

Before:

    Note that some characters are obscured by Strong Bad's head.

After:

    Some characters are obscured by Strong Bad's head.

PR-URL: #21646
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
PR-URL: #21615
Refs: https://github.com/eslint/eslint-plugin-markdown#strict
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Links in crypto.md table have been autolinking, but correct
Markdown processing will not autolink in block elements like tables.
Upcoming marked 0.4.0 will not autolink in this instance, so add the
links as anchor elements.

PR-URL: #21678
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
A loop that generates a long array is resulting in a RangeError. Moving
to Array.prototype.fill() along with the ** operator instead of using a
loop fixes the issue.

PR-URL: #21658
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
PR-URL: #21700
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Bryan English <bryan@bryanenglish.com>
We refer to them only as _error-first callbacks_ in our docs. We don't
call them _Node.js style callbacks_ so let's take this opporutnity to
keep things a bit more concise

PR-URL: #21701
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
1) Add missing unit tests by `ucs-2` in different kinds of cases.
2) Add missing unit tests by `usc-2` in different kinds of cases.
3) Fix a bug:We cannot find `ucs-2` in `case 5`'s `if` condition after
`toLowerCase()`

PR-URL: #21455
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Avoid using `v8::FunctionTemplate::New()` when using
`v8::Function::New()` suffices. This ensures that individual functions
can be gc-ed and that functions can be created dynamically without
running out of memory.

PR-URL: #21688
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Kyle Farnung <kfarnung@microsoft.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Re: #21226 (comment)
PR-URL: #21680
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Add links to async methods and make wording consistent.

PR-URL: #21243
Refs: #21197
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Jamie Davis <davisjam@vt.edu>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
A loop that generates a long array is resulting in a RangeError. Moving
to Array.prototype.fill() along with the ** operator instead of using a
loop fixes the issue.

PR-URL: #21681
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Shingo Inoue <leko.noor@gmail.com>
@Trott
Copy link
Member

Trott commented Jul 17, 2018

#21700 is labeled notable-change but isn't in the Notable Changes section. If that's because tooling hasn't yet been used to pull notable-change labeled stuff in to that section, then ignore me.

@targos
Copy link
Member Author

targos commented Jul 18, 2018

@Trott can you point me to the tooling I should be using? I forgot about this label and the release guide does not mention it.

@Trott
Copy link
Member

Trott commented Jul 18, 2018

@Trott can you point me to the tooling I should be using? I forgot about this label and the release guide does not mention it.

I don't know if the tooling actually exists. I assumed it did, but if you're unaware of it, then maybe I made a bad assumption.

@targos
Copy link
Member Author

targos commented Jul 18, 2018

Maybe @rvagg knows if there is such a tool?

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

* console:
  * The `console.timeLog()` method has been implemented. (#21312)
* deps:
  * Upgrade to libuv 1.22.0. (#21731)
  * Upgrade to ICU 62.1 (Unicode 11, CLDR 33.1). (#21728)
* http:
  * Added support for passing both `timeout` and `agent` options to
    `http.request`. (#21204)
* napi:
  * Added experimental support for functions dealing with bigint numbers. (#21226)
* process:
  * The `process.hrtime.bigint()` method has been implemented. (#21256)
  * Added the `--title` command line argument to set the process title on
    startup. (#21477)
* trace_events:
  * Added process_name metadata. (#21477)
* Added new collaborators
  * codebytere - Shelley Vohr

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

targos commented Jul 18, 2018

Anyway, thanks @Trott. I updated the changelog and verified manually on GitHub that there are no other notable-change PRs.

@targos
Copy link
Member Author

targos commented Jul 18, 2018

I found that branch-diff can be used to generate the list like so:

$ branch-diff upstream/v10.x upstream/v10.7.0-proposal --require-label=notable-change --format=simple
* [3096ee5a4b] - (SEMVER-MINOR) napi: add bigint support (Gus Caplan) https://github.com/nodejs/node/pull/21226
* [971679328e] - doc: add codebytere as collaborator (Shelley Vohr) https://github.com/nodejs/node/pull/21700

I'm working on an update to the release guide. Will add a paragraph about this.

joyeecheung and others added 6 commits July 18, 2018 12:59
This patch split part of the bootstrappers into three files:

- `lib/internal/process/main_thread_only.js`: contains bootstrappers
  that can only be run in the main thread, including
  - `setupStdio` for the main thread that sets up `process.stdin`,
    `process.stdout`, `process.error` that may interact with external
    resources, e.g. TTY/File/Pipe/TCP sockets
  - `setupProcessMethods` that setup methods changing process-global
    states, e.g. `process.chdir`, `process.umask`, `process.setuid`
  - `setupSignalHandlers`
  - `setupChildProcessIpcChannel` that setup `process.send` for
    child processes.
- `lib/internal/process/worker_thread_only.js`: contains bootstrappers
  that can only be run in the worker threads, including
  - `setupStdio` for the worker thread that are streams to be
    manipulated or piped to the parent thread
- `lib/internal/process/per_thread.js`: contains bootstrappers
    that can be run in all threads, including:
  - `setupAssert` for `process.assert`
  - `setupCpuUsage` for `process.cpuUsage`
  - `setupHrtime` for `process.hrtime` and `process.hrtime.bigint`
  - `setupMemoryUsage` for `process.memoryUsage`
  - `setupConfig` for `process.config`
  - `setupKillAndExit` for `process.kill` and `process.exit`
  - `setupRawDebug` for `process._rawDebug`
  - `setupUncaughtExceptionCapture` for
    `process.setUncaughtExceptionCaptureCallback` and
    `process.hasUncaughtExceptionCaptureCallback`

Hopefully in the future we can sort more bootstrappers in
`boostrap/node.js` into these three files and further group
them into functions that can be run before creating the
snapshot / after loading the snapshot.

This patch also moves most of the `isMainThread` conditionals
into the main bootstrapper instead of letting them scattered around
special-casing different implementations.

PR-URL: #21378
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>

Backport-PR-URL: #21866
Reviewed-By: Michaël Zasso <targos@protonmail.com>
PR-URL: #21844
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
The validation logic could be tricked into assuming an option was
valid using malicious getters, leading to an invalid value being
passed to the C++ layer, thus crashing the process.

PR-URL: #21815
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Linux permits a filesystem to be mounted at multiple points, but
`fs.renameSync` does not work across different mount points, even if the
same filesystem is mounted on both.
This fixes failing tests when NODE_TEST_DIR mount point is different
from the one on which the tests are executed (E.G. on a separate
partition).

Ref: http://man7.org/linux/man-pages/man2/rename.2.html

PR-URL: #21552
Refs: http://man7.org/linux/man-pages/man2/rename.2.html
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ben Coe <bencoe@gmail.com>
Adds require('inspector').console, mapping it to the original
global.console of V8. This enables applications to send messages to
the inspector console programmatically.

Fixes: #21651

PR-URL: #21659
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1. Reorder some sections alphabetically.
2. Fix some heading levels.
3. Express a type of a property more formally.

PR-URL: #21709
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Claudio Rodriguez <cjrodr@yahoo.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Notable changes:

* console:
  * The `console.timeLog()` method has been implemented.
    (#21312)
* deps:
  * Upgrade to libuv 1.22.0. (#21731)
  * Upgrade to ICU 62.1 (Unicode 11, CLDR 33.1).
    (#21728)
* http:
  * Added support for passing both `timeout` and `agent` options to
    `http.request`. (#21204)
* inspector:
  * Expose the original console API in `require('inspector').console`.
    (#21659)
* napi:
  * Added experimental support for functions dealing with bigint numbers.
    (#21226)
* process:
  * The `process.hrtime.bigint()` method has been implemented.
    (#21256)
  * Added the `--title` command line argument to set the process title on
    startup. (#21477)
* trace_events:
  * Added process_name metadata.
    (#21477)
* Added new collaborators
  * codebytere - Shelley Vohr

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

targos commented Jul 18, 2018

@mcollina This now contains #21378 and #21659.

CI: https://ci.nodejs.org/job/node-test-pull-request/15925/
CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/1471/

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

@targos
Copy link
Member Author

targos commented Jul 18, 2018

If there are no objections, I'll go ahead and promote the release after the TSC meeting.
Link to the build for those who have access and would like to test it: https://ci-release.nodejs.org/job/iojs+release/3580/

@targos targos merged commit 991bb95 into v10.x Jul 18, 2018
targos added a commit that referenced this pull request Jul 18, 2018
targos added a commit that referenced this pull request Jul 18, 2018
Notable changes:

* console:
  * The `console.timeLog()` method has been implemented.
    (#21312)
* deps:
  * Upgrade to libuv 1.22.0. (#21731)
  * Upgrade to ICU 62.1 (Unicode 11, CLDR 33.1).
    (#21728)
* http:
  * Added support for passing both `timeout` and `agent` options to
    `http.request`. (#21204)
* inspector:
  * Expose the original console API in `require('inspector').console`.
    (#21659)
* napi:
  * Added experimental support for functions dealing with bigint numbers.
    (#21226)
* process:
  * The `process.hrtime.bigint()` method has been implemented.
    (#21256)
  * Added the `--title` command line argument to set the process title on
    startup. (#21477)
* trace_events:
  * Added process_name metadata.
    (#21477)
* Added new collaborators
  * codebytere - Shelley Vohr

PR-URL: #21851
@targos targos deleted the v10.7.0-proposal branch July 18, 2018 18:30
targos added a commit to nodejs/nodejs.org that referenced this pull request Jul 18, 2018
targos added a commit to nodejs/nodejs.org that referenced this pull request Jul 18, 2018
@targos targos added this to Releases in v10.x Sep 23, 2018
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. meta Issues and PRs related to the general management of the project. tools Issues and PRs related to the tools directory.
Projects
No open projects
v10.x
  
Releases
Development

Successfully merging this pull request may close these issues.

None yet