Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(348)

Side by Side Diff: CHANGELOG.md

Issue 2232583002: update changelog for recent strong mode fixes to future (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ## 1.19.0 1 ## 1.19.0
2 2
3 ### Language changes 3 ### Language changes
4 4
5 * The language now allows a trailing comma after the last argument of a call and 5 * The language now allows a trailing comma after the last argument of a call and
6 the last parameter of a function declaration. This can make long argument or 6 the last parameter of a function declaration. This can make long argument or
7 parameter lists easier to maintain, as commas can be left as-is when 7 parameter lists easier to maintain, as commas can be left as-is when
8 reordering lines. For details, see SDK issue 8 reordering lines. For details, see SDK issue
9 [26644](https://github.com/dart-lang/sdk/issues/26644). 9 [26644](https://github.com/dart-lang/sdk/issues/26644).
10 10
(...skipping 12 matching lines...) Expand all
23 see the [documentation](https://github.com/dart-lang/dev_compiler/blob/maste r/doc/STATIC_SAFETY.md#disable-implicit-casts) 23 see the [documentation](https://github.com/dart-lang/dev_compiler/blob/maste r/doc/STATIC_SAFETY.md#disable-implicit-casts)
24 for usage instructions and examples. 24 for usage instructions and examples.
25 25
26 * New feature - an option to disable implicit dynamic 26 * New feature - an option to disable implicit dynamic
27 (SDK issue [25573](https://github.com/dart-lang/sdk/issues/25573)), 27 (SDK issue [25573](https://github.com/dart-lang/sdk/issues/25573)),
28 see the [documentation](https://github.com/dart-lang/dev_compiler/blob/maste r/doc/STATIC_SAFETY.md#disable-implicit-dynamic) 28 see the [documentation](https://github.com/dart-lang/dev_compiler/blob/maste r/doc/STATIC_SAFETY.md#disable-implicit-dynamic)
29 for usage instructions and examples. 29 for usage instructions and examples.
30 30
31 * Breaking change - infer generic type arguments from the 31 * Breaking change - infer generic type arguments from the
32 constructor invocation arguments 32 constructor invocation arguments
33 (SDK issue [25220](https://github.com/dart-lang/sdk/issues/25220)) 33 (SDK issue [25220](https://github.com/dart-lang/sdk/issues/25220)).
34 34
35 ```dart 35 ```dart
36 var map = new Map<String, String>(); 36 var map = new Map<String, String>();
37 37
38 // infer: Map<String, String> 38 // infer: Map<String, String>
39 var otherMap = new Map.from(map); 39 var otherMap = new Map.from(map);
40 ``` 40 ```
41 41
42 * Breaking change - infer local function return type 42 * Breaking change - infer local function return type
43 (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26414)) 43 (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26414)).
44 44
45 ```dart 45 ```dart
46 void main() { 46 void main() {
47 // infer: return type is int 47 // infer: return type is int
48 f() { return 40; } 48 f() { return 40; }
49 int y = f() + 2; // type checks 49 int y = f() + 2; // type checks
50 print(y); 50 print(y);
51 } 51 }
52 ``` 52 ```
53 53
54 * Breaking change - allow type promotion from a generic type parameter 54 * Breaking change - allow type promotion from a generic type parameter
55 (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26965)) 55 (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26965)).
56 56
57 ```dart 57 ```dart
58 void fn/*<T>*/(/*=T*/ object) { 58 void fn/*<T>*/(/*=T*/ object) {
59 if (object is String) { 59 if (object is String) {
60 // Treat `object` as `String` inside this block. 60 // Treat `object` as `String` inside this block.
61 // But it will require a cast to pass it to something that expects `T`. 61 // But it will require a cast to pass it to something that expects `T`.
62 print(object.substring(1)); 62 print(object.substring(1));
63 } 63 }
64 } 64 }
65 ``` 65 ```
66 66
67 * Breaking change - smarter inference for Future.then
68 (SDK issue [25944](https://github.com/dart-lang/sdk/issues/25944)).
69 Previous workarounds that use async/await or `.then/*<Future<SomeType>>*/`
70 should no longer be necessary.
71
72 ```dart
73 // This will now infer correctly.
74 Future<List<int>> t2 = f.then((_) => [3]);
75 // This infers too.
76 Future<int> t2 = f.then((_) => new Future.value(42));
77 ```
78
79 * Breaking change - smarter inference for async functions
80 (SDK issue [25322](https://github.com/dart-lang/sdk/issues/25322)).
81
82 ```dart
83 void test() async {
84 List<int> x = await [4]; // was previously inferred
85 List<int> y = await new Future.value([4]); // now inferred too
86 }
87 ```
88
67 ### Dart VM 89 ### Dart VM
68 90
69 * The dependency on BoringSSL has been rolled forward. Going forward, builds 91 * The dependency on BoringSSL has been rolled forward. Going forward, builds
70 of the Dart VM including secure sockets will require a compiler with C++11 92 of the Dart VM including secure sockets will require a compiler with C++11
71 support, and to link against glibc 2.16 or newer. For details, see the 93 support, and to link against glibc 2.16 or newer. For details, see the
72 [Building wiki page](https://github.com/dart-lang/sdk/wiki/Building). 94 [Building wiki page](https://github.com/dart-lang/sdk/wiki/Building).
73 95
74 ### Tool Changes 96 ### Tool Changes
75 97
76 * `dartfmt` - upgraded to v0.2.9 98 * `dartfmt` - upgraded to v0.2.9
(...skipping 1087 matching lines...) Expand 10 before | Expand all | Expand 10 after
1164 they will keep the Dart process alive until they time out. This fixes the 1186 they will keep the Dart process alive until they time out. This fixes the
1165 handling of persistent connections. Previously, the client would shut down 1187 handling of persistent connections. Previously, the client would shut down
1166 immediately after a request. 1188 immediately after a request.
1167 1189
1168 * **Breaking change:** `HttpServer` no longer compresses all traffic by 1190 * **Breaking change:** `HttpServer` no longer compresses all traffic by
1169 default. The new `autoCompress` property can be set to `true` to re-enable 1191 default. The new `autoCompress` property can be set to `true` to re-enable
1170 compression. 1192 compression.
1171 1193
1172 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, 1194 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument,
1173 which controls how it resolves `package:` URIs. 1195 which controls how it resolves `package:` URIs.
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698