| OLD | NEW |
| 1 ## 1.20.0 | 1 ## 1.20.0 |
| 2 | 2 |
| 3 ### Dart VM | 3 ### Dart VM |
| 4 | 4 |
| 5 * We have improved the way that the VM locates the native code library for a | 5 * We have improved the way that the VM locates the native code library for a |
| 6 native extension (e.g. `dart-ext:` import). We have updated this | 6 native extension (e.g. `dart-ext:` import). We have updated this |
| 7 [article on native extensions](https://www.dartlang.org/articles/dart-vm/nativ
e-extensions) | 7 [article on native extensions](https://www.dartlang.org/articles/dart-vm/nativ
e-extensions) |
| 8 to reflect the VM's improved behavior. | 8 to reflect the VM's improved behavior. |
| 9 | 9 |
| 10 * Linux builds of the VM will now use the tcmalloc library for memory | 10 * Linux builds of the VM will now use the tcmalloc library for memory |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 var b = new Future<B>.value(new B()); | 101 var b = new Future<B>.value(new B()); |
| 102 var c = new Future<C>.value(new C()); | 102 var c = new Future<C>.value(new C()); |
| 103 var/*infer List<Future<A>>*/ list = [b, c]; | 103 var/*infer List<Future<A>>*/ list = [b, c]; |
| 104 var/*infer List<A>*/ result = await Future.wait(list); | 104 var/*infer List<A>*/ result = await Future.wait(list); |
| 105 } | 105 } |
| 106 class A {} | 106 class A {} |
| 107 class B extends A {} | 107 class B extends A {} |
| 108 class C extends A {} | 108 class C extends A {} |
| 109 ``` | 109 ``` |
| 110 | 110 |
| 111 * Breaking change - ingore `dynamic` when doing inference. | |
| 112 | |
| 113 ```dart | |
| 114 main() { | |
| 115 dynamic d = 42; | |
| 116 List<int> list = /*infer <int>*/[123, /*implicit cast*/d]; | |
| 117 } | |
| 118 ``` | |
| 119 | |
| 120 ### Tool changes | 111 ### Tool changes |
| 121 | 112 |
| 122 * `dartfmt` - upgraded to v0.2.10 | 113 * `dartfmt` - upgraded to v0.2.10 |
| 123 * Don't crash on annotations before parameters with trailing commas. | 114 * Don't crash on annotations before parameters with trailing commas. |
| 124 * Always split enum declarations if they end in a trailing comma. | 115 * Always split enum declarations if they end in a trailing comma. |
| 125 * Add `--set-exit-if-changed` to set the exit code on a change. | 116 * Add `--set-exit-if-changed` to set the exit code on a change. |
| 126 | 117 |
| 127 ## 1.19.0 | 118 ## 1.19.0 |
| 128 | 119 |
| 129 ### Language changes | 120 ### Language changes |
| (...skipping 1192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1322 they will keep the Dart process alive until they time out. This fixes the | 1313 they will keep the Dart process alive until they time out. This fixes the |
| 1323 handling of persistent connections. Previously, the client would shut down | 1314 handling of persistent connections. Previously, the client would shut down |
| 1324 immediately after a request. | 1315 immediately after a request. |
| 1325 | 1316 |
| 1326 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1317 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
| 1327 default. The new `autoCompress` property can be set to `true` to re-enable | 1318 default. The new `autoCompress` property can be set to `true` to re-enable |
| 1328 compression. | 1319 compression. |
| 1329 | 1320 |
| 1330 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1321 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
| 1331 which controls how it resolves `package:` URIs. | 1322 which controls how it resolves `package:` URIs. |
| OLD | NEW |