-
Notifications
You must be signed in to change notification settings - Fork 30.4k
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
V7.8.0 proposal #12104
V7.8.0 proposal #12104
Conversation
This is a backport of https://codereview.chromium.org/2672313003/. The patch did not land in V8 because it was superseded by another one but it is much easier to backport to V8 5.5, was reviewed and passed tests. Original commit message: [async await] Fix async function desugaring Previously we rewrote the return statement in an async function from `return expr;` to `return %ResolvePromise(.promise, expr), .promise`. This can lead to incorrect behavior in the presence of try-finally. This patch stores the `expr` of the return statement in a temporary variable, resolves and returns the promise at the end of the finally block. BUG=v8:5896 PR-URL: #12004 Fixes: #11960 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
lib/buffer.js uses a function declaration for `Buffer`. So it never uses an instance of `Buffer` in the global scope. Therefore the disabling of the `require-buffer` custom rule is not needed. Remove the comment. PR-URL: #11906 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
Adds `options.deDupeHistory` for `readline.createInterface(options)`. If `options.deDupeHistory` is `true`, when a new input line being added to the history list duplicates an older one, removes the older line from the list. Defaults to `false`. Many users would appreciate this option, as it is a common setting in shells. This option certainly should not be default behavior, as it would be problematic in applications such as the `repl`, which inherits from the readline `Interface`. Extends documentation to reflect this API addition. Adds tests for when `options.deDupeHistory` is truthy, and when `options.deDupeHistory` is falsey. PR-URL: #2982 Reviewed-By: Jeremiah Senkpiel <[email protected]>
Since file URLs can not have `username/password/port`, the specification was updated to restrict setting protocol to "file". Refs: whatwg/url#269 Fixes: #11785 PR-URL: #11887 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Joyee Cheung <[email protected]>
Synchronize url-setter-test to upstream. Refs: web-platform-tests/wpt#5112 PR-URL: #11887 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Joyee Cheung <[email protected]>
PR-URL: #11914 Fixes: #11913 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
Check that stdin, stdout and stderr are valid file descriptors on Windows. If not, reopen them with 'nul' file. Refs: #875 Fixes: #11656 PR-URL: #11863 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
GitHub now renders Markdown in CommonMark where spaces in a link destination are invalid and need to be escaped. PR-URL: #11944 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
Currently test-tls-socket-close will fail if node was built using --without-ssl. This commit adds a check to verify is crypto support exists and if not skip this test. PR-URL: #11911 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: James M Snell <[email protected]>
This removes common.v8ForceOptimization calls from url and vm benchmark files. PR-URL: #11908 Fixes: #11895 Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
Make it call-site-cwd-independent. PR-URL: #11904 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
It only returns 0, nor is it likely to have any error conditions in the future. PR-URL: #11922 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: James M Snell <[email protected]>
Replace timer/timeout race with event-based ordering, eliminating test flakiness. PR-URL: #11921 Fixes: #11912 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Santiago Gimeno <[email protected]> Reviewed-By: James M Snell <[email protected]>
While `child_process.execFile()` gets called in places in the test suite, there are no explicit test for it and there are parts of the implementation that are not covered by tests. This adds a minimal test that increases (but does not complete) coverage for the implementation. PR-URL: #11929 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]>
Also add test cases for partial writes and invalid indices. PR-URL: #11927 Fixes: #8724 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Add a space for minimal readability. PR-URL: #11925 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: James M Snell <[email protected]>
Let make-standalone-toolchain.sh create directory. PR-URL: #11916 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #11897 Fixes: #7151 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #11891 Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]>
Remove superfluous sample code. Since `assert()` is documented as an alias of `assert.ok()` and nothing more, the sample code for `assert.ok()` is sufficient. PR-URL: #11933 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
Adds a URL native class for use within the node.js c/c++ code. This is primarily intended to be used by the eventual ES6 modules implementation but can be used generally wherever URL parsing within the c/c++ may be necessary. ```c URL url1("http://example.org"); URL url2("foo", "http://example.org/bar"); URL url3("baz", &url2); ``` While we're at it, reduce reliance on macros to simplify impl. PR-URL: #11801 Reviewed-By: Anna Henningsen <[email protected]>
Renames `options.deDupeHistory` → `options.removeHistoryDuplicates` for `readline.createInterface(options)`. The option name `removeHistoryDuplicates` is preferable to the semantically identical name `deDupeHistory` because "dedupe" (short for "deduplication") is obscure and neologistic while `removeHistoryDuplicates` is clear, though verbose. Updates tests and documentation for this option accordingly. PR-URL: #11950 Ref: #2982 Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Evan Lucas <[email protected]> Reviewed-By: James M Snell <[email protected]>
`child.stderr`, `child.stdin`, and `child.stdout` are `null`, not `undefined`, if the relevant `stdio` properties are set to anything other than 'pipe'. PR-URL: #11949 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Evan Lucas <[email protected]> Reviewed-By: James M Snell <[email protected]>
Replace a few calls to FIXED_ONE_BYTE_STRING() with their persistent counterparts from `node::Environment`. None of the calls are in hot code paths but why create a new string when one already exists? PR-URL: #11945 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Brian White <[email protected]>
This allows running a benchmark with two or more values for the same config rather than just one or all of them, for example: ``` node benchmark/buffers/buffer-creation.js type=buffer() type=fast-alloc type=fast-alloc-fill ``` PR-URL: #11819 Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Franziska Hinkelmann <[email protected]> Reviewed-By: Brian White <[email protected]>
The timer handle is reused when it is unrefed in order to avoid new callback in beforeExit(#3407). If it is unrefed within a setInterval callback, the reused timer handle is closed so that setInterval no longer keep working. This fix does not close the handle in case of setInterval. PR-URL: #11646 Reviewed-By: Julien Gilli <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #11389 Reviewed-By: Jeremiah Senkpiel <[email protected]>
Per email conversation with Shigeki Ohtsu, updating email address in docs. The current listed email address does not work anymore. PR-URL: #11996 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Shigeki Ohtsu <[email protected]>
PR-URL: #11953 Fixes: #11469 Reviewed-By: João Reis <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Rich Trott <[email protected]>
PR-URL: #11934 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Timothy Gu <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]>
The comment is outdated, function declarations have nothing to do with defineProperties. PR-URL: #12048 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: James M Snell <[email protected]>
The additional validity checks applied to StartCom and WoSign certificates failed to free memory before returning. Refs: #9469 Fixes: #12033 PR-URL: #12089 Reviewed-By: Sam Roberts <[email protected]> Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Myles Borins <[email protected]> Reviewed-By: Shigeki Ohtsu <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
Ensure that AdjustAmountOfExternalAllocatedMemory() is called when the SecurePair is destroyed. Not doing so is not an actual memory leak but it makes `process.memoryUsage().external` wildly inaccurate and can cause performance problems due to excessive garbage collection. PR-URL: #11896 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Add a comment to match lib/module.js, missed in #11958. PR-URL: #12050 Ref: #11958 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Richard Lau <[email protected]>
aef5dfb
to
de29b02
Compare
CI: https://ci.nodejs.org/job/node-test-pull-request/7076/ edit: heres a run of 7.x on linux to check out the unexpected clang failure: https://ci.nodejs.org/job/node-test-commit-linux/8737/ looks like the same executor is failing on v7.7.x. Based on this I'm going to sign off on the CI being good. citgm failures:
Citgm looks good 🎉 |
/cc @nodejs/collaborators can you all put eyes on this ASAP please. We want to get this release out before end of day |
Notable changes: * buffer: - do not segfault on out-of-range index (Timothy Gu) #11927 * crypto: - Fix memory leak if certificate is revoked (Tom Atkinson) #12089 * deps: * upgrade npm to 4.2.0 (Kat Marchán) #11389 * fix async await desugaring in V8 (Michaël Zasso) #12004 * readline: - add option to stop duplicates in history (Danny Nemer) #2982 * src: - add native URL class (James M Snell) #11801 PR-URL: #12104
Everything looks good. |
de29b02
to
f04524e
Compare
There is a strange compilation failure on one of the Linux machines. The error is:
Additionally, I see a lot of these warnings in the output:
Not sure if it's related to the error or not... |
@mscdex I'm not 100% but I think that build is with a non standard version of clang and the failure is currently expected /cc @bnoordhuis |
Notable changes: * buffer: - do not segfault on out-of-range index (Timothy Gu) #11927 * crypto: - Fix memory leak if certificate is revoked (Tom Atkinson) #12089 * deps: * upgrade npm to 4.2.0 (Kat Marchán) #11389 * fix async await desugaring in V8 (Michaël Zasso) #12004 * readline: - add option to stop duplicates in history (Danny Nemer) #2982 * src: - add native URL class (James M Snell) #11801 PR-URL: #12104
Notable changes: * buffer: - do not segfault on out-of-range index (Timothy Gu) nodejs/node#11927 * crypto: - Fix memory leak if certificate is revoked (Tom Atkinson) nodejs/node#12089 * deps: * upgrade npm to 4.2.0 (Kat Marchán) nodejs/node#11389 * fix async await desugaring in V8 (Michaël Zasso) nodejs/node#12004 * readline: - add option to stop duplicates in history (Danny Nemer) nodejs/node#2982 * src: - add native URL class (James M Snell) nodejs/node#11801 PR-URL: nodejs/node#12104 Signed-off-by: Ilkka Myller <[email protected]>
2017-03-28, Version 7.8.0 (Current), @MylesBorins
Notable Changes
Commits
51c8d8088a
] - Partial revert "tls: keep track of stream that is closed" (Trevor Norris) #11947751c1153a4
] - benchmark: check end() argument to be > 0 (Vse Mozhet Byt) #12030210250465a
] - benchmark: update obsolete information pointer (Rich Trott) #120267aeeee3276
] - benchmark: repair the fs/readfile benchmark (Sorin Baltateanu) #781890acb773be
] - benchmark: allow multiple values for same config (Nikolai Vavilov) #118192f4ad6fea2
] - benchmark: harmonize progress bar + stderr output (Vse Mozhet Byt) #11925d62ddbe145
] - benchmark: fix fs\bench-realpathSync.js (Vse Mozhet Byt) #1190485eb1bc0a9
] - benchmark: remove v8ForceOptimization calls (Lucas Lago) #1190817d16e8f3d
] - buffer: remove unneeded eslint-disable comment (Rich Trott) #11906fb41ee3983
] - build: add lint option to vcbuild.bat help (Morgan Brenner) #119923e4ecca0be
] - build: don't create directory for NDK toolchain (TheBeastOfCaerbannog) #11916a64aa442c1
] - crypto: fix memory leak if certificate is revoked (Tom Atkinson) #120892767e2d3cc
] - (SEMVER-MINOR) deps: upgrade npm to 4.2.0 (Kat Marchán) #11389d22346de40
] - deps: fix async await desugaring in V8 (Michaël Zasso) #12004fade55b025
] - doc: clarify out-of-bounds behavior of buf[index] (Nikolai Vavilov) #1128663a19c7012
] - doc: update and modernize examples in fs.ms (Vse Mozhet Byt) #120354b5f177e3d
] - doc: fix https.timeout docs (Ahmad Nassri) #12039af051f6528
] - doc: fix http properties documented as methods (Ahmad Nassri) #1203918a586a278
] - doc: edit the benchmark guide (Rich Trott) #120415e3d429613
] - doc: stdout/err/in are all Duplex streams (Sebastian Van Sande) #111947f6b03fd0f
] - doc: fix process.stdout fd number (Fumiya KARASAWA) #120551f7fe55c97
] - doc: add richardlau to collaborators (Richard Lau) #12020924f34606d
] - doc: update collaborator email address (Rich Trott) #1199641bec5cff4
] - doc: correct info in child_process.md (Vse Mozhet Byt) #1194996ad336d9e
] - doc: remove superfluous sample assert code (Rich Trott) #11933486bd1bd9b
] - doc: require uses fs root for '/' prefix (Bradley Farias) #1189704fa28e6dc
] - doc: fix gitter badge in README (Roman Reiss) #1194468b23be51f
] - doc: add missing word in stream.md (Jyotman Singh) #119140f2642ee36
] - errors: remove needless lazyAssert (DavidCai) #118915bdd54925a
] - lib: add comment to script eval _tickCallback (Gibson Fahnestock) #120507347860966
] - lib: clarify the usage of 'else' (Jackson Tian) #11148837ff4ba59
] - lib: remove an unnecessary coverage check (Jeremiah Senkpiel) #120236c803db7b9
] - lib: fix event race condition with -e (Ben Noordhuis) #11958ac92d0249b
] - net: refactor net module to module.exports (Claudio Rodriguez) #116982462fd8009
] - process: maintain constructor descriptor (Bryan English) #930691a2700721
] - readline: renamedeDupeHistory
option (Danny Nemer) #119508ab26cf508
] - (SEMVER-MINOR) readline: add option to stop duplicates in history (Danny Nemer) #29826a6c431eec
] - src: use persistent strings from node::Environment (Ben Noordhuis) #11945d0c2d67083
] - src: add native URL class (James M Snell) #11801019a20adb5
] - src: make PercentDecode return void (Timothy Gu) #11922d6da1705cd
] - src: ensure that fd 0-2 are valid on windows (Bartosz Sosnowski) #1186359f71f5661
] - src, buffer: do not segfault on out-of-range index (Timothy Gu) #119274051184106
] - stream_base,tls_wrap: notify on destruct (Trevor Norris) #11947d8b71be183
] - test: fix misleading comment (Franziska Hinkelmann) #120488b2b93f148
] - test: mark child-process-exec-kill-throws flaky (Gibson Fahnestock) #12054948b99deab
] - test: fix broken tests in test-buffer-includes (Alexey Orlenko) #12040d112aad78b
] - test: replace throw with common.fail (Dejon "DJ" Gill) #970041284fbc5b
] - test: cover thrown errors from exec() kill (cjihrig) #11038414df6c93b
] - test: test validity of prefix in mkdtempSync (Luca Maraschi) #120091c0435b1f3
] - test: add regex for expected error message (John F. Mercer) #12011a73dea9499
] - test: add second argument to assert.throws() (Rj Bernaldo) #12016ade64e61cd
] - test: refactor test-cluster-disconnect (Rich Trott) #119813d21bfe6b9
] - test: invalid chars in http client path (Luca Maraschi) #11964e70ed3cb31
] - test: improve test-vm-cached-data.js (Nick Peleh) #11974b48f13af95
] - test: add minimal test for net benchmarks (Rich Trott) #11979764a00e6e5
] - test: add test for url (Yuta Hiroto) #11999bb2de4a5a1
] - test: do not usemore
command on Windows (Vse Mozhet Byt) #1195355a112689a
] - test: add test for child_process.execFile() (Rich Trott) #119299ba551f7e3
] - test: fix flaky test-tls-socket-close (Rich Trott) #11921114f9d619d
] - test: add hasCrypto check to tls-socket-close (Daniel Bevenius) #11911169f187f16
] - test: synchronize WPT url setters tests data (Daijiro Wachi) #118874b1b6b85a9
] - timers: fix not to close reused timer handle (Shigeki Ohtsu) #11646fd93622f8a
] - tls: fix SecurePair external memory reporting (Ben Noordhuis) #11896126dcb76af
] - url: name anonymous functions in url (Pedro lima) #9225f6755182e5
] - url: show input in parse error message (Joyee Cheung) #11934c51d925c84
] - url: restrict setting protocol to "file" (Daijiro Wachi) #11887