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 * We have improved the way the VM searches for trusted root certificates for |
| 11 secure socket connections on Linux. First, the VM will look for trusted root |
| 12 certificates in standard locations on the file system |
| 13 (/etc/pki/tls/certs/ca-bundle.crt followed by /etc/ssl/certs), and only if |
| 14 these do not exist will it fall back on the builtin trusted root certificates. |
| 15 This behavior can be overridden on Linux with the new flags |
| 16 --root-certs-file and --root-certs-cache. The former is the path to a file |
| 17 containing the trusted root certificates, and the latter is the path to a |
| 18 directory containing root certificate files hashed using `c_rehash`. |
| 19 |
10 ### Core library changes | 20 ### Core library changes |
11 * `dart:core`: Remove deprecated `Resource` class. | 21 * `dart:core`: Remove deprecated `Resource` class. |
12 Use the class in `package:resource` instead. | 22 Use the class in `package:resource` instead. |
13 * `dart:async` | 23 * `dart:async` |
14 * `Future.wait` now catches synchronous errors and returns them in the | 24 * `Future.wait` now catches synchronous errors and returns them in the |
15 returned Future. | 25 returned Future. |
16 * More aggressively returns a Future on Stream.cancel operations. | 26 * More aggressively returns a Future on Stream.cancel operations. |
17 Discourages to return `null` from `cancel`. | 27 Discourages to return `null` from `cancel`. |
18 * Fixes a few bugs where the cancel future wasn't passed through | 28 * Fixes a few bugs where the cancel future wasn't passed through |
19 transformations. | 29 transformations. |
20 * `dart:io` | 30 * `dart:io` |
21 * Added `WebSocket.addUtf8Text` to allow sending a pre-encoded text message | 31 * Added `WebSocket.addUtf8Text` to allow sending a pre-encoded text message |
22 without a round-trip UTF-8 conversion. | 32 without a round-trip UTF-8 conversion. |
23 | 33 |
24 ## Strong Mode | 34 ### Strong Mode |
25 | 35 |
26 * Breaking change - it is an error if a generic type parameter cannot be | 36 * Breaking change - it is an error if a generic type parameter cannot be |
27 inferred (SDK issue [26992](https://github.com/dart-lang/sdk/issues/26992)). | 37 inferred (SDK issue [26992](https://github.com/dart-lang/sdk/issues/26992)). |
28 | 38 |
29 ```dart | 39 ```dart |
30 class Cup<T> { | 40 class Cup<T> { |
31 Cup(T t); | 41 Cup(T t); |
32 } | 42 } |
33 main() { | 43 main() { |
34 // Error because: | 44 // Error because: |
(...skipping 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1256 they will keep the Dart process alive until they time out. This fixes the | 1266 they will keep the Dart process alive until they time out. This fixes the |
1257 handling of persistent connections. Previously, the client would shut down | 1267 handling of persistent connections. Previously, the client would shut down |
1258 immediately after a request. | 1268 immediately after a request. |
1259 | 1269 |
1260 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1270 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
1261 default. The new `autoCompress` property can be set to `true` to re-enable | 1271 default. The new `autoCompress` property can be set to `true` to re-enable |
1262 compression. | 1272 compression. |
1263 | 1273 |
1264 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1274 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
1265 which controls how it resolves `package:` URIs. | 1275 which controls how it resolves `package:` URIs. |
OLD | NEW |