| OLD | NEW |
| 1 ## 1.14.0 | 1 ## 1.14.0 |
| 2 | 2 |
| 3 ### Core library changes | 3 ### Core library changes |
| 4 * `dart:convert` | 4 * `dart:convert` |
| 5 * `Base64Decoder.convert` now takes optional `start` and `end` parameters. | 5 * `Base64Decoder.convert` now takes optional `start` and `end` parameters. |
| 6 | 6 |
| 7 * `dart:core` | 7 * `dart:core` |
| 8 * Added `Uri.data` getter for `data:` URIs, and `UriData` class for the | 8 * Added `Uri.data` getter for `data:` URIs, and `UriData` class for the |
| 9 return type. | 9 return type. |
| 10 * Added `growable` parameter to `List.filled` constructor. | 10 * Added `growable` parameter to `List.filled` constructor. |
| 11 | 11 |
| 12 * `dart:math` | 12 * `dart:math` |
| 13 * `Random` added a `secure` constructor returning a cryptographically secure | 13 * `Random` added a `secure` constructor returning a cryptographically secure |
| 14 random generator which reads from the entropy source provided by the | 14 random generator which reads from the entropy source provided by the |
| 15 embedder for every generated random value. | 15 embedder for every generated random value. |
| 16 | 16 |
| 17 * `dart:io` | 17 * `dart:io` |
| 18 * `Platform` added an `isiOS` getter and `Platform.operatingSystem` may now | 18 * `Platform` added an `isiOS` getter and `Platform.operatingSystem` may now |
| 19 return `ios`. | 19 return `ios`. |
| 20 | 20 |
| 21 ## 1.13.0 | 21 ## 1.13.0 - 2015-11-18 |
| 22 | 22 |
| 23 ### Core library changes | 23 ### Core library changes |
| 24 * `dart:async` | 24 * `dart:async` |
| 25 * `StreamController` added getters for `onListen`, `onPause`, and `onResume` | 25 * `StreamController` added getters for `onListen`, `onPause`, and `onResume` |
| 26 with the corresponding new `typedef void ControllerCallback()`. | 26 with the corresponding new `typedef void ControllerCallback()`. |
| 27 * `StreamController` added a getter for `onCancel` with the corresponding | 27 * `StreamController` added a getter for `onCancel` with the corresponding |
| 28 new `typedef ControllerCancelCallback()`; | 28 new `typedef ControllerCancelCallback()`; |
| 29 * `StreamTransformer` instances created with `fromHandlers` with no | 29 * `StreamTransformer` instances created with `fromHandlers` with no |
| 30 `handleError` callback now forward stack traces along with errors to the | 30 `handleError` callback now forward stack traces along with errors to the |
| 31 resulting streams. | 31 resulting streams. |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 | 134 |
| 135 * The heuristics for determining when `pub get` needs to be run before various | 135 * The heuristics for determining when `pub get` needs to be run before various |
| 136 commands have been improved. There should no longer be false positives when | 136 commands have been improved. There should no longer be false positives when |
| 137 non-dependency sections of the pubspec have been modified. | 137 non-dependency sections of the pubspec have been modified. |
| 138 | 138 |
| 139 ## 1.12.0 - 2015-08-31 | 139 ## 1.12.0 - 2015-08-31 |
| 140 | 140 |
| 141 ### Language changes | 141 ### Language changes |
| 142 | 142 |
| 143 * Null-aware operators | 143 * Null-aware operators |
| 144 * `??`: if null operator. `expr1 ?? expr2` evaluates to `expr1` if not `null
`, otherwise `expr2`. | 144 * `??`: if null operator. `expr1 ?? expr2` evaluates to `expr1` if |
| 145 * `??=`: null-aware assignment. `v ??= expr` causes `v` to be assigned `expr
` only if `v` is `null`. | 145 not `null`, otherwise `expr2`. |
| 146 * `x?.p`: null-aware access. `x?.p` evaluates to `x.p` if `x` is not `null`,
otherwise evaluates to `null`. | 146 * `??=`: null-aware assignment. `v ??= expr` causes `v` to be assigned |
| 147 * `x?.m()`: null-aware method invocation. `x?.m()` invokes `m` only if `x` i
s not `null`. | 147 `expr` only if `v` is `null`. |
| 148 * `x?.p`: null-aware access. `x?.p` evaluates to `x.p` if `x` is not |
| 149 `null`, otherwise evaluates to `null`. |
| 150 * `x?.m()`: null-aware method invocation. `x?.m()` invokes `m` only |
| 151 if `x` is not `null`. |
| 148 | 152 |
| 149 ### Core library changes | 153 ### Core library changes |
| 150 | 154 |
| 151 * `dart:async` | 155 * `dart:async` |
| 152 * `StreamController` added setters for the `onListen`, `onPause`, `onResume` | 156 * `StreamController` added setters for the `onListen`, `onPause`, `onResume` |
| 153 and `onCancel` callbacks. | 157 and `onCancel` callbacks. |
| 154 | 158 |
| 155 * `dart:convert` | 159 * `dart:convert` |
| 156 * `LineSplitter` added a `split` static method returning an `Iterable`. | 160 * `LineSplitter` added a `split` static method returning an `Iterable`. |
| 157 | 161 |
| (...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 they will keep the Dart process alive until they time out. This fixes the | 663 they will keep the Dart process alive until they time out. This fixes the |
| 660 handling of persistent connections. Previously, the client would shut down | 664 handling of persistent connections. Previously, the client would shut down |
| 661 immediately after a request. | 665 immediately after a request. |
| 662 | 666 |
| 663 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 667 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
| 664 default. The new `autoCompress` property can be set to `true` to re-enable | 668 default. The new `autoCompress` property can be set to `true` to re-enable |
| 665 compression. | 669 compression. |
| 666 | 670 |
| 667 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 671 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
| 668 which controls how it resolves `package:` URIs. | 672 which controls how it resolves `package:` URIs. |
| OLD | NEW |