Skip to content
This repository was archived by the owner on Oct 15, 2020. It is now read-only.

Commit cdaf0d4

Browse files
committed
meta: merge node/master into node-chakracore/master
Merge 9b7a691 as of 2018-03-21 This commit was automatically generated. For any problems, please contact jackhorton Reviewed-By: Kyle Farnung <kfarnung@microsoft.com>
2 parents 3036f13 + 9b7a691 commit cdaf0d4

40 files changed

+626
-191
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ release.
3131
</tr>
3232
<tr>
3333
<td valign="top">
34-
<b><a href="doc/changelogs/CHANGELOG_V9.md#9.8.0">9.8.0</a></b><br/>
34+
<b><a href="doc/changelogs/CHANGELOG_V9.md#9.9.0">9.9.0</a></b><br/>
35+
<a href="doc/changelogs/CHANGELOG_V9.md#9.8.0">9.8.0</a><br/>
3536
<a href="doc/changelogs/CHANGELOG_V9.md#9.7.1">9.7.1</a><br/>
3637
<a href="doc/changelogs/CHANGELOG_V9.md#9.7.0">9.7.0</a><br/>
3738
<a href="doc/changelogs/CHANGELOG_V9.md#9.6.1">9.6.1</a><br/>

COLLABORATOR_GUIDE.md

Lines changed: 123 additions & 71 deletions
Large diffs are not rendered by default.

deps/chakrashim/include/v8-version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#define V8_MAJOR_VERSION 6
1212
#define V8_MINOR_VERSION 5
1313
#define V8_BUILD_NUMBER 254
14-
#define V8_PATCH_LEVEL 40
14+
#define V8_PATCH_LEVEL 41
1515

1616
// Use 1 for candidates and 0 otherwise.
1717
// (Boolean macro values are not supported by all preprocessors.)

deps/v8/include/v8-version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#define V8_MAJOR_VERSION 6
1212
#define V8_MINOR_VERSION 5
1313
#define V8_BUILD_NUMBER 254
14-
#define V8_PATCH_LEVEL 40
14+
#define V8_PATCH_LEVEL 41
1515

1616
// Use 1 for candidates and 0 otherwise.
1717
// (Boolean macro values are not supported by all preprocessors.)

deps/v8/src/compiler/escape-analysis.cc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -623,9 +623,7 @@ void ReduceNode(const Operator* op, EscapeAnalysisTracker::Scope* current,
623623
break;
624624
}
625625
case IrOpcode::kTypeGuard: {
626-
// The type-guard is re-introduced in the final reducer if the types
627-
// don't match.
628-
current->SetReplacement(current->ValueInput(0));
626+
current->SetVirtualObject(current->ValueInput(0));
629627
break;
630628
}
631629
case IrOpcode::kReferenceEqual: {
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Copyright 2017 the V8 project authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
// Flags: --allow-natives-syntax --turbo-escape
6+
7+
function bar(arr) {
8+
var x = 0;
9+
arr.forEach(function(el) {
10+
x = el;
11+
});
12+
return x;
13+
}
14+
15+
function foo(array) {
16+
return bar(array);
17+
}
18+
19+
let array = [,.5,];
20+
foo(array);
21+
foo(array);
22+
%OptimizeFunctionOnNextCall(foo);
23+
foo(array);

doc/api/assert.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ For more information about the used equality comparisons see
1515

1616
## Strict mode
1717
<!-- YAML
18-
added: REPLACEME
18+
added: v9.9.0
1919
changes:
20-
- version: REPLACEME
20+
- version: v9.9.0
2121
pr-url: https://github.com/nodejs/node/pull/17615
2222
description: Added error diffs to the strict mode
23-
- version: REPLACEME
23+
- version: v9.9.0
2424
pr-url: https://github.com/nodejs/node/pull/17002
2525
description: Added strict mode to the assert module.
2626
-->
@@ -924,7 +924,7 @@ instead of the `AssertionError`.
924924
<!-- YAML
925925
added: v0.1.21
926926
changes:
927-
- version: REPLACEME
927+
- version: v9.9.0
928928
pr-url: https://github.com/nodejs/node/pull/17584
929929
description: The `error` parameter can now be an object as well.
930930
- version: v4.2.0

doc/api/crypto.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,7 +1254,11 @@ This property is deprecated. Please use `crypto.setFips()` and
12541254
### crypto.createCipher(algorithm, password[, options])
12551255
<!-- YAML
12561256
added: v0.1.94
1257+
deprecated: REPLACEME
12571258
-->
1259+
1260+
> Stability: 0 - Deprecated: Use [`crypto.createCipheriv()`][] instead.
1261+
12581262
- `algorithm` {string}
12591263
- `password` {string | Buffer | TypedArray | DataView}
12601264
- `options` {Object} [`stream.transform` options][]
@@ -1290,7 +1294,7 @@ Adversaries][] for details.
12901294
<!-- YAML
12911295
added: v0.1.94
12921296
changes:
1293-
- version: REPLACEME
1297+
- version: v9.9.0
12941298
pr-url: https://github.com/nodejs/node/pull/18644
12951299
description: The `iv` parameter may now be `null` for ciphers which do not
12961300
need an initialization vector.
@@ -1334,7 +1338,11 @@ called.
13341338
### crypto.createDecipher(algorithm, password[, options])
13351339
<!-- YAML
13361340
added: v0.1.94
1341+
deprecated: REPLACEME
13371342
-->
1343+
1344+
> Stability: 0 - Deprecated: Use [`crypto.createDecipheriv()`][] instead.
1345+
13381346
- `algorithm` {string}
13391347
- `password` {string | Buffer | TypedArray | DataView}
13401348
- `options` {Object} [`stream.transform` options][]
@@ -1358,7 +1366,7 @@ to create the `Decipher` object.
13581366
<!-- YAML
13591367
added: v0.1.94
13601368
changes:
1361-
- version: REPLACEME
1369+
- version: v9.9.0
13621370
pr-url: https://github.com/nodejs/node/pull/18644
13631371
description: The `iv` parameter may now be `null` for ciphers which do not
13641372
need an initialization vector.

doc/api/deprecations.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -959,11 +959,25 @@ Type: Runtime
959959
[`decipher.final()`][]. In the future, this API will likely be removed, and it
960960
is recommended to use [`decipher.final()`][] instead.
961961
962+
<a id="DEP0106"></a>
963+
### DEP0106: crypto.createCipher and crypto.createDecipher
964+
965+
Type: Documentation-only
966+
967+
Using [`crypto.createCipher()`][] and [`crypto.createDecipher()`][] should be
968+
avoided as they use a weak key derivation function (MD5 with no salt) and static
969+
initialization vectors. It is recommended to derive a key using
970+
[`crypto.pbkdf2()`][] and to use [`crypto.createCipheriv()`][] and
971+
[`crypto.createDecipheriv()`][] to obtain the [`Cipher`][] and [`Decipher`][]
972+
objects respectively.
973+
962974
[`--pending-deprecation`]: cli.html#cli_pending_deprecation
963975
[`Buffer.allocUnsafeSlow(size)`]: buffer.html#buffer_class_method_buffer_allocunsafeslow_size
964976
[`Buffer.from(array)`]: buffer.html#buffer_class_method_buffer_from_array
965977
[`Buffer.from(buffer)`]: buffer.html#buffer_class_method_buffer_from_buffer
966978
[`Buffer.isBuffer()`]: buffer.html#buffer_class_method_buffer_isbuffer_obj
979+
[`Cipher`]: crypto.html#crypto_class_cipher
980+
[`Decipher`]: crypto.html#crypto_class_decipher
967981
[`assert`]: assert.html
968982
[`clearInterval()`]: timers.html#timers_clearinterval_timeout
969983
[`clearTimeout()`]: timers.html#timers_cleartimeout_timeout
@@ -976,7 +990,11 @@ is recommended to use [`decipher.final()`][] instead.
976990
[`child_process`]: child_process.html
977991
[`console.error()`]: console.html#console_console_error_data_args
978992
[`console.log()`]: console.html#console_console_log_data_args
993+
[`crypto.createCipher()`]: crypto.html#crypto_crypto_createcipher_algorithm_password_options
994+
[`crypto.createCipheriv()`]: crypto.html#crypto_crypto_createcipheriv_algorithm_key_iv_options
979995
[`crypto.createCredentials()`]: crypto.html#crypto_crypto_createcredentials_details
996+
[`crypto.createDecipher()`]: crypto.html#crypto_crypto_createdecipher_algorithm_password_options
997+
[`crypto.createDecipheriv()`]: crypto.html#crypto_crypto_createdecipheriv_algorithm_key_iv_options
980998
[`crypto.DEFAULT_ENCODING`]: crypto.html#crypto_crypto_default_encoding
981999
[`crypto.fips`]: crypto.html#crypto_crypto_fips
9821000
[`crypto.pbkdf2()`]: crypto.html#crypto_crypto_pbkdf2_password_salt_iterations_keylen_digest_callback

doc/api/http2.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@ be emitted either by client-side code or server-side code.
2424

2525
### Server-side example
2626

27-
The following illustrates a simple, plain-text HTTP/2 server using the
28-
Core API:
27+
The following illustrates a simple HTTP/2 server using the Core API.
28+
Since there are no browsers known that support
29+
[unencrypted HTTP/2][HTTP/2 Unencrypted], the use of
30+
[`http2.createSecureServer()`][] is necessary when communicating
31+
with browser clients.
2932

3033
```js
3134
const http2 = require('http2');
@@ -252,7 +255,7 @@ and would instead register a handler for the `'stream'` event emitted by the
252255
```js
253256
const http2 = require('http2');
254257

255-
// Create a plain-text HTTP/2 server
258+
// Create an unencrypted HTTP/2 server
256259
const server = http2.createServer();
257260

258261
server.on('stream', (stream, headers) => {
@@ -1727,10 +1730,18 @@ changes:
17271730
Returns a `net.Server` instance that creates and manages `Http2Session`
17281731
instances.
17291732

1733+
Since there are no browsers known that support
1734+
[unencrypted HTTP/2][HTTP/2 Unencrypted], the use of
1735+
[`http2.createSecureServer()`][] is necessary when communicating
1736+
with browser clients.
1737+
17301738
```js
17311739
const http2 = require('http2');
17321740

1733-
// Create a plain-text HTTP/2 server
1741+
// Create an unencrypted HTTP/2 server.
1742+
// Since there are no browsers known that support
1743+
// unencrypted HTTP/2, the use of `http2.createSecureServer()`
1744+
// is necessary when communicating with browser clients.
17341745
const server = http2.createServer();
17351746

17361747
server.on('stream', (stream, headers) => {
@@ -3085,6 +3096,7 @@ following additional properties:
30853096
[Compatibility API]: #http2_compatibility_api
30863097
[HTTP/1]: http.html
30873098
[HTTP/2]: https://tools.ietf.org/html/rfc7540
3099+
[HTTP/2 Unencrypted]: https://http2.github.io/faq/#does-http2-require-encryption
30883100
[HTTP2 Headers Object]: #http2_headers_object
30893101
[HTTP2 Settings Object]: #http2_settings_object
30903102
[HTTPS]: https.html

0 commit comments

Comments
 (0)