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 ### Core library changes | 25 ### Core library changes |
| 26 |
26 * `dart:core`: Remove deprecated `Resource` class. | 27 * `dart:core`: Remove deprecated `Resource` class. |
27 Use the class in `package:resource` instead. | 28 Use the class in `package:resource` instead. |
28 * `dart:async` | 29 * `dart:async` |
29 * `Future.wait` now catches synchronous errors and returns them in the | 30 * `Future.wait` now catches synchronous errors and returns them in the |
30 returned Future. | 31 returned Future. |
31 * More aggressively returns a Future on Stream.cancel operations. | 32 * More aggressively returns a Future on Stream.cancel operations. |
32 Discourages to return `null` from `cancel`. | 33 Discourages to return `null` from `cancel`. |
33 * Fixes a few bugs where the cancel future wasn't passed through | 34 * Fixes a few bugs where the cancel future wasn't passed through |
34 transformations. | 35 transformations. |
35 * `dart:io` | 36 * `dart:io` |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 | 110 |
110 * Breaking change - ingore `dynamic` when doing inference. | 111 * Breaking change - ingore `dynamic` when doing inference. |
111 | 112 |
112 ```dart | 113 ```dart |
113 main() { | 114 main() { |
114 dynamic d = 42; | 115 dynamic d = 42; |
115 List<int> list = /*infer <int>*/[123, /*implicit cast*/d]; | 116 List<int> list = /*infer <int>*/[123, /*implicit cast*/d]; |
116 } | 117 } |
117 ``` | 118 ``` |
118 | 119 |
| 120 ### Tool changes |
| 121 |
| 122 * `dartfmt` - upgraded to v0.2.10 |
| 123 * Don't crash on annotations before parameters with trailing commas. |
| 124 * 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. |
| 126 |
119 ## 1.19.0 | 127 ## 1.19.0 |
120 | 128 |
121 ### Language changes | 129 ### Language changes |
122 | 130 |
123 * The language now allows a trailing comma after the last argument of a call and | 131 * The language now allows a trailing comma after the last argument of a call and |
124 the last parameter of a function declaration. This can make long argument or | 132 the last parameter of a function declaration. This can make long argument or |
125 parameter lists easier to maintain, as commas can be left as-is when | 133 parameter lists easier to maintain, as commas can be left as-is when |
126 reordering lines. For details, see SDK issue | 134 reordering lines. For details, see SDK issue |
127 [26644](https://github.com/dart-lang/sdk/issues/26644). | 135 [26644](https://github.com/dart-lang/sdk/issues/26644). |
128 | 136 |
(...skipping 1185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1314 they will keep the Dart process alive until they time out. This fixes the | 1322 they will keep the Dart process alive until they time out. This fixes the |
1315 handling of persistent connections. Previously, the client would shut down | 1323 handling of persistent connections. Previously, the client would shut down |
1316 immediately after a request. | 1324 immediately after a request. |
1317 | 1325 |
1318 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1326 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
1319 default. The new `autoCompress` property can be set to `true` to re-enable | 1327 default. The new `autoCompress` property can be set to `true` to re-enable |
1320 compression. | 1328 compression. |
1321 | 1329 |
1322 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1330 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
1323 which controls how it resolves `package:` URIs. | 1331 which controls how it resolves `package:` URIs. |
OLD | NEW |