OLD | NEW |
---|---|
1 ## 1.13.0 | 1 ## 1.13.0 |
2 | 2 |
3 * `dart:core` | 3 * `dart:core` |
4 * `Uri` added `removeFragment` method. | 4 * `Uri` added `removeFragment` method. |
5 * `String.allMatches` (implementing `Pattern.allMatches`) is now lazy, | 5 * `String.allMatches` (implementing `Pattern.allMatches`) is now lazy, |
6 as all `allMatches` implementations are intended to be. | 6 as all `allMatches` implementations are intended to be. |
7 * `dart:io` | 7 * `dart:io` |
8 * `HttpClient` no longer sends URI fragments in the requeust. This is not | 8 * `HttpClient` no longer sends URI fragments in the requeust. This is not |
9 allowed by the HTTP protocol. | 9 allowed by the HTTP protocol. |
10 The `HttpServer` still gracefully receives fragments, but discards them | 10 The `HttpServer` still gracefully receives fragments, but discards them |
11 before delivering the request. | 11 before delivering the request. |
12 * `dart:async` | 12 * `dart:async` |
13 * `StreamController` added getters for the `onListen`, `onPause`, `onResume` | 13 * `StreamController` added getters for the `onListen`, `onPause`, `onResume` |
14 and `onCancel` callbacks. | 14 and `onCancel` callbacks. |
15 | 15 |
16 | 16 |
17 ## 1.12.0 | 17 ## 1.12.0 |
18 | 18 |
19 ### Language changes | |
20 | |
21 * Null-aware operators | |
22 * `??`: if null operator. `expr1 ?? expr2` evaluates to `expr1` if not `null `, otherwise `expr2`. | |
23 * `??=`: null-aware assignment. `v ??= expr` causes `v` to be assigned `expr ` only if `v` is `null`. | |
24 * `x?.p`: null-aware access. `x?.p` evaluates to `x.p` if `x` is not `null`, otherwise evaluates to `null`. | |
25 * `x?.m()`: null-aware method invocation. `x?.m()` invokes `m` only if `x` i s not `null`. | |
eernst
2015/08/25 12:28:36
You could say that the reader of this announcement
| |
26 | |
19 ### Core library changes | 27 ### Core library changes |
20 | 28 |
21 * `dart:async` | 29 * `dart:async` |
22 * `StreamController` added setters for the `onListen`, `onPause`, `onResume` | 30 * `StreamController` added setters for the `onListen`, `onPause`, `onResume` |
23 and `onCancel` callbacks. | 31 and `onCancel` callbacks. |
24 | 32 |
25 * `dart:convert` | 33 * `dart:convert` |
26 * `LineSplitter` added a `split` static method returning an `Iterable`. | 34 * `LineSplitter` added a `split` static method returning an `Iterable`. |
27 | 35 |
28 * `dart:core` | 36 * `dart:core` |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
511 they will keep the Dart process alive until they time out. This fixes the | 519 they will keep the Dart process alive until they time out. This fixes the |
512 handling of persistent connections. Previously, the client would shut down | 520 handling of persistent connections. Previously, the client would shut down |
513 immediately after a request. | 521 immediately after a request. |
514 | 522 |
515 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 523 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
516 default. The new `autoCompress` property can be set to `true` to re-enable | 524 default. The new `autoCompress` property can be set to `true` to re-enable |
517 compression. | 525 compression. |
518 | 526 |
519 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 527 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
520 which controls how it resolves `package:` URIs. | 528 which controls how it resolves `package:` URIs. |
OLD | NEW |