OLD | NEW |
1 ## 1.23.0 | 1 ## 1.23.0 |
2 | 2 |
3 ### Core library changes | 3 ### Core library changes |
4 * `dart:core`: Add `Uri.isScheme` function to check the scheme of a URI. | 4 * `dart:core`: Add `Uri.isScheme` function to check the scheme of a URI. |
5 Example: `uri.isScheme("http")`. Ignores case when comparing. | 5 Example: `uri.isScheme("http")`. Ignores case when comparing. |
6 | 6 |
7 ## 1.22.0 | 7 ## 1.22.0 |
8 | 8 |
9 ### Language | 9 ### Language |
10 | 10 |
11 * Breaking change: ['Generalized tear-offs'](https://github.com/gbracha/genera
lizedTearOffs/blob/master/proposal.md) | 11 * Breaking change: ['Generalized tear-offs'](https://github.com/gbracha/genera
lizedTearOffs/blob/master/proposal.md) |
12 are no longer supported, and will cause errors. We updated the language spec | 12 are no longer supported, and will cause errors. We updated the language spec |
13 and added warnings in 1.21, and are now taking the last step to fully | 13 and added warnings in 1.21, and are now taking the last step to fully |
14 de-support them. They were previously only supported in the VM, and there | 14 de-support them. They were previously only supported in the VM, and there |
15 are almost no known uses of them in the wild. | 15 are almost no known uses of them in the wild. |
16 | 16 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 | 75 |
76 class Orca extends Predator { | 76 class Orca extends Predator { |
77 void chaseAndEat(Seal s) => ... | 77 void chaseAndEat(Seal s) => ... |
78 } | 78 } |
79 ``` | 79 ``` |
80 | 80 |
81 This isn't statically safe, because you could do: | 81 This isn't statically safe, because you could do: |
82 | 82 |
83 ```dart | 83 ```dart |
84 Predator predator = new Cat(); // Upcast. | 84 Predator predator = new Cat(); // Upcast. |
85 predator(new Seal()); // Cats can't eat seals! | 85 predator.chaseAndEat(new Seal()); // Cats can't eat seals! |
86 ``` | 86 ``` |
87 | 87 |
88 To preserve soundness in strong mode, in the body of a method that uses a | 88 To preserve soundness in strong mode, in the body of a method that uses a |
89 covariant override (here, `Cat.chaseAndEat()`), the compiler automatically | 89 covariant override (here, `Cat.chaseAndEat()`), the compiler automatically |
90 inserts a check that the parameter is of the expected type. So the compiler | 90 inserts a check that the parameter is of the expected type. So the compiler |
91 gives you something like: | 91 gives you something like: |
92 | 92 |
93 ```dart | 93 ```dart |
94 class Cat extends Predator { | 94 class Cat extends Predator { |
95 void chaseAndEat(o) { | 95 void chaseAndEat(o) { |
(...skipping 1573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1669 they will keep the Dart process alive until they time out. This fixes the | 1669 they will keep the Dart process alive until they time out. This fixes the |
1670 handling of persistent connections. Previously, the client would shut down | 1670 handling of persistent connections. Previously, the client would shut down |
1671 immediately after a request. | 1671 immediately after a request. |
1672 | 1672 |
1673 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1673 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
1674 default. The new `autoCompress` property can be set to `true` to re-enable | 1674 default. The new `autoCompress` property can be set to `true` to re-enable |
1675 compression. | 1675 compression. |
1676 | 1676 |
1677 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1677 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
1678 which controls how it resolves `package:` URIs. | 1678 which controls how it resolves `package:` URIs. |
OLD | NEW |