| 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 ### Core library changes | 10 ### Core library changes |
| 11 * `dart:core`: Remove deprecated `Resource` class. | 11 * `dart:core`: Remove deprecated `Resource` class. |
| 12 Use the class in `package:resource` instead. | 12 Use the class in `package:resource` instead. |
| 13 * `dart:async` | 13 * `dart:async` |
| 14 * `Future.wait` now catches synchronous errors and returns them in the | 14 * `Future.wait` now catches synchronous errors and returns them in the |
| 15 returned Future. | 15 returned Future. |
| 16 * `dart:io` | 16 * `dart:io` |
| 17 * Added `WebSocket.addUtf8Text` to allow sending a pre-encoded text message | 17 * Added `WebSocket.addUtf8Text` to allow sending a pre-encoded text message |
| 18 without a round-trip UTF-8 conversion. | 18 without a round-trip UTF-8 conversion. |
| 19 | 19 |
| 20 ## Strong Mode |
| 21 |
| 22 * Breaking change - it is an error if a generic type parameter cannot be |
| 23 inferred (SDK issue [26992](https://github.com/dart-lang/sdk/issues/26992)). |
| 24 |
| 25 ```dart |
| 26 class Cup<T> { |
| 27 Cup(T t); |
| 28 } |
| 29 main() { |
| 30 // Error because: |
| 31 // - if we choose Cup<num> it is not assignable to `cOfInt`, |
| 32 // - if we choose Cup<int> then `n` is not assignable to int. |
| 33 num n; |
| 34 C<int> cOfInt = new C(n); |
| 35 } |
| 36 ``` |
| 37 |
| 20 ## 1.19.0 | 38 ## 1.19.0 |
| 21 | 39 |
| 22 ### Language changes | 40 ### Language changes |
| 23 | 41 |
| 24 * The language now allows a trailing comma after the last argument of a call and | 42 * The language now allows a trailing comma after the last argument of a call and |
| 25 the last parameter of a function declaration. This can make long argument or | 43 the last parameter of a function declaration. This can make long argument or |
| 26 parameter lists easier to maintain, as commas can be left as-is when | 44 parameter lists easier to maintain, as commas can be left as-is when |
| 27 reordering lines. For details, see SDK issue | 45 reordering lines. For details, see SDK issue |
| 28 [26644](https://github.com/dart-lang/sdk/issues/26644). | 46 [26644](https://github.com/dart-lang/sdk/issues/26644). |
| 29 | 47 |
| (...skipping 1185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1215 they will keep the Dart process alive until they time out. This fixes the | 1233 they will keep the Dart process alive until they time out. This fixes the |
| 1216 handling of persistent connections. Previously, the client would shut down | 1234 handling of persistent connections. Previously, the client would shut down |
| 1217 immediately after a request. | 1235 immediately after a request. |
| 1218 | 1236 |
| 1219 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1237 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
| 1220 default. The new `autoCompress` property can be set to `true` to re-enable | 1238 default. The new `autoCompress` property can be set to `true` to re-enable |
| 1221 compression. | 1239 compression. |
| 1222 | 1240 |
| 1223 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1241 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
| 1224 which controls how it resolves `package:` URIs. | 1242 which controls how it resolves `package:` URIs. |
| OLD | NEW |