OLD | NEW |
1 ## 1.19.0 | 1 ## 1.19.0 |
2 | 2 |
3 ### Core library changes | 3 ### Core library changes |
4 | 4 |
5 * `dart:io` | 5 * `dart:io` |
6 * `Socket.connect` with source-address argument is now non-blocking | 6 * `Socket.connect` with source-address argument is now non-blocking |
7 on Mac. Was already non-blocking on all other platforms. | 7 on Mac. Was already non-blocking on all other platforms. |
8 * Report a better error when a bind fails because of a bad source address. | 8 * Report a better error when a bind fails because of a bad source address. |
9 | 9 |
10 ### Analyzer | 10 ### Strong Mode |
11 | 11 |
12 * Strong mode breaking change - infer generic type arguments from the | 12 * New feature - an option to disable implicit casts |
| 13 (SDK issue [26583](https://github.com/dart-lang/sdk/issues/26583)), |
| 14 see the [documentation](https://github.com/dart-lang/dev_compiler/blob/maste
r/doc/STATIC_SAFETY.md#disable-implicit-casts) |
| 15 for usage instructions and examples. |
| 16 |
| 17 * New feature - an option to disable implicit dynamic |
| 18 (SDK issue [25573](https://github.com/dart-lang/sdk/issues/25573)), |
| 19 see the [documentation](https://github.com/dart-lang/dev_compiler/blob/maste
r/doc/STATIC_SAFETY.md#disable-implicit-dynamic) |
| 20 for usage instructions and examples. |
| 21 |
| 22 * Breaking change - infer generic type arguments from the |
13 constructor invocation arguments | 23 constructor invocation arguments |
14 (SDK issue [25220](https://github.com/dart-lang/sdk/issues/25220)) | 24 (SDK issue [25220](https://github.com/dart-lang/sdk/issues/25220)) |
15 | 25 |
16 ```dart | 26 ```dart |
17 var map = new Map<String, String>(); | 27 var map = new Map<String, String>(); |
18 | 28 |
19 // infer: Map<String, String> | 29 // infer: Map<String, String> |
20 var otherMap = new Map.from(map); | 30 var otherMap = new Map.from(map); |
21 ``` | 31 ``` |
22 | 32 |
23 * Strong mode breaking change - infer local function return type | 33 * Breaking change - infer local function return type |
24 (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26414)) | 34 (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26414)) |
25 | 35 |
26 ```dart | 36 ```dart |
27 void main() { | 37 void main() { |
28 // infer: return type is int | 38 // infer: return type is int |
29 f() { return 40; } | 39 f() { return 40; } |
30 int y = f() + 2; // type checks | 40 int y = f() + 2; // type checks |
31 print(y); | 41 print(y); |
32 } | 42 } |
33 ``` | 43 ``` |
34 | 44 |
| 45 * Breaking change - allow type promotion from a generic type parameter |
| 46 (SDK issue [26414](https://github.com/dart-lang/sdk/issues/26965)) |
| 47 |
| 48 ```dart |
| 49 void fn/*<T>*/(/*=T*/ object) { |
| 50 if (object is String) { |
| 51 // Treat `object` as `String` inside this block. |
| 52 // But it will require a cast to pass it to something that expects `T`. |
| 53 print(object.substring(1)); |
| 54 } |
| 55 } |
| 56 ``` |
| 57 |
35 ### Tool Changes | 58 ### Tool Changes |
36 | 59 |
37 * `dartfmt` - upgraded to v0.2.9 | 60 * `dartfmt` - upgraded to v0.2.9 |
38 * Support trailing commas in argument and parameter lists. | 61 * Support trailing commas in argument and parameter lists. |
39 * Gracefully handle read-only files. | 62 * Gracefully handle read-only files. |
40 * About a dozen other bug fixes. | 63 * About a dozen other bug fixes. |
41 | 64 |
42 * Pub | 65 * Pub |
43 * Added the ability for packages to declare a constraint on the [Flutter][] | 66 * Added the ability for packages to declare a constraint on the [Flutter][] |
44 SDK: | 67 SDK: |
(...skipping 1080 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1125 they will keep the Dart process alive until they time out. This fixes the | 1148 they will keep the Dart process alive until they time out. This fixes the |
1126 handling of persistent connections. Previously, the client would shut down | 1149 handling of persistent connections. Previously, the client would shut down |
1127 immediately after a request. | 1150 immediately after a request. |
1128 | 1151 |
1129 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1152 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
1130 default. The new `autoCompress` property can be set to `true` to re-enable | 1153 default. The new `autoCompress` property can be set to `true` to re-enable |
1131 compression. | 1154 compression. |
1132 | 1155 |
1133 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1156 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
1134 which controls how it resolves `package:` URIs. | 1157 which controls how it resolves `package:` URIs. |
OLD | NEW |