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 |
11 allocation. This has the advantages of better debugging and profiling support | 11 allocation. This has the advantages of better debugging and profiling support |
12 and faster small allocations, with the cost of slightly larger initial memory | 12 and faster small allocations, with the cost of slightly larger initial memory |
13 footprint, and slightly slower large allocations. | 13 footprint, and slightly slower large allocations. |
14 | 14 |
15 * We have improved the way the VM searches for trusted root certificates for | 15 * We have improved the way the VM searches for trusted root certificates for |
16 secure socket connections on Linux. First, the VM will look for trusted root | 16 secure socket connections on Linux. First, the VM will look for trusted root |
17 certificates in standard locations on the file system | 17 certificates in standard locations on the file system |
18 (/etc/pki/tls/certs/ca-bundle.crt followed by /etc/ssl/certs), and only if | 18 (`/etc/pki/tls/certs/ca-bundle.crt` followed by `/etc/ssl/certs`), and only if |
19 these do not exist will it fall back on the builtin trusted root certificates. | 19 these do not exist will it fall back on the builtin trusted root certificates. |
20 This behavior can be overridden on Linux with the new flags | 20 This behavior can be overridden on Linux with the new flags |
21 --root-certs-file and --root-certs-cache. The former is the path to a file | 21 `--root-certs-file` and `--root-certs-cache`. The former is the path to a file |
22 containing the trusted root certificates, and the latter is the path to a | 22 containing the trusted root certificates, and the latter is the path to a |
23 directory containing root certificate files hashed using `c_rehash`. | 23 directory containing root certificate files hashed using `c_rehash`. |
24 | 24 |
| 25 * The VM now throws a catchable `Error` when method compilation fails. This |
| 26 allows easier debugging of syntax errors, especially when testing. |
| 27 |
25 ### Core library changes | 28 ### Core library changes |
26 | 29 |
27 * `dart:core`: Remove deprecated `Resource` class. | 30 * `dart:core`: Remove deprecated `Resource` class. |
28 Use the class in `package:resource` instead. | 31 Use the class in `package:resource` instead. |
29 * `dart:async` | 32 * `dart:async` |
30 * `Future.wait` now catches synchronous errors and returns them in the | 33 * `Future.wait` now catches synchronous errors and returns them in the |
31 returned Future. | 34 returned Future. |
32 * More aggressively returns a Future on Stream.cancel operations. | 35 * More aggressively returns a `Future` on `Stream.cancel` operations. |
33 Discourages to return `null` from `cancel`. | 36 Discourages to return `null` from `cancel`. |
34 * Fixes a few bugs where the cancel future wasn't passed through | 37 * Fixes a few bugs where the cancel future wasn't passed through |
35 transformations. | 38 transformations. |
36 * `dart:io` | 39 * `dart:io` |
37 * Added `WebSocket.addUtf8Text` to allow sending a pre-encoded text message | 40 * Added `WebSocket.addUtf8Text` to allow sending a pre-encoded text message |
38 without a round-trip UTF-8 conversion. | 41 without a round-trip UTF-8 conversion. |
39 | 42 |
40 ### Strong Mode | 43 ### Strong Mode |
41 | 44 |
42 * Breaking change - it is an error if a generic type parameter cannot be | 45 * Breaking change - it is an error if a generic type parameter cannot be |
(...skipping 1270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1313 they will keep the Dart process alive until they time out. This fixes the | 1316 they will keep the Dart process alive until they time out. This fixes the |
1314 handling of persistent connections. Previously, the client would shut down | 1317 handling of persistent connections. Previously, the client would shut down |
1315 immediately after a request. | 1318 immediately after a request. |
1316 | 1319 |
1317 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1320 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
1318 default. The new `autoCompress` property can be set to `true` to re-enable | 1321 default. The new `autoCompress` property can be set to `true` to re-enable |
1319 compression. | 1322 compression. |
1320 | 1323 |
1321 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1324 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
1322 which controls how it resolves `package:` URIs. | 1325 which controls how it resolves `package:` URIs. |
OLD | NEW |