| OLD | NEW |
| 1 ## 1.24.0 | 1 ## 1.24.0 |
| 2 | 2 |
| 3 ### Language | 3 ### Language |
| 4 | 4 |
| 5 #### Strong Mode | 5 #### Strong Mode |
| 6 | 6 |
| 7 ### Core library changes | 7 ### Core library changes |
| 8 | 8 |
| 9 * `dart:io` | 9 * `dart:io` |
| 10 * Added `Platform.localeName`, needed for accessing the locale on platforms | 10 * Added `Platform.localeName`, needed for accessing the locale on platforms |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 ``` | 89 ``` |
| 90 | 90 |
| 91 * Strong mode supports overriding fields, `@virtual` is no longer required | 91 * Strong mode supports overriding fields, `@virtual` is no longer required |
| 92 (SDK issue [28120](https://github.com/dart-lang/sdk/issues/28120)). | 92 (SDK issue [28120](https://github.com/dart-lang/sdk/issues/28120)). |
| 93 | 93 |
| 94 ```dart | 94 ```dart |
| 95 class C { | 95 class C { |
| 96 int x = 42; | 96 int x = 42; |
| 97 } | 97 } |
| 98 class D extends C { | 98 class D extends C { |
| 99 int x = 123; | 99 get x { |
| 100 get y => super.x; | 100 print("x got called"); |
| 101 return super.x; |
| 102 } |
| 101 } | 103 } |
| 102 main() { | 104 main() { |
| 103 print(new D().x); | 105 print(new D().x); |
| 104 print(new D().y); | |
| 105 } | 106 } |
| 106 ``` | 107 ``` |
| 107 | 108 |
| 108 * Strong mode down cast composite warnings are no longer issued by default. | 109 * Strong mode down cast composite warnings are no longer issued by default. |
| 109 (SDK issue [28588](https://github.com/dart-lang/sdk/issues/28588)). | 110 (SDK issue [28588](https://github.com/dart-lang/sdk/issues/28588)). |
| 110 | 111 |
| 111 ```dart | 112 ```dart |
| 112 void test() { | 113 void test() { |
| 113 List untyped = []; | 114 List untyped = []; |
| 114 List<int> typed = untyped; // No down cast composite warning | 115 List<int> typed = untyped; // No down cast composite warning |
| (...skipping 1756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1871 they will keep the Dart process alive until they time out. This fixes the | 1872 they will keep the Dart process alive until they time out. This fixes the |
| 1872 handling of persistent connections. Previously, the client would shut down | 1873 handling of persistent connections. Previously, the client would shut down |
| 1873 immediately after a request. | 1874 immediately after a request. |
| 1874 | 1875 |
| 1875 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1876 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
| 1876 default. The new `autoCompress` property can be set to `true` to re-enable | 1877 default. The new `autoCompress` property can be set to `true` to re-enable |
| 1877 compression. | 1878 compression. |
| 1878 | 1879 |
| 1879 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1880 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
| 1880 which controls how it resolves `package:` URIs. | 1881 which controls how it resolves `package:` URIs. |
| OLD | NEW |