OLD | NEW |
1 ## 1.13.0 | 1 ## 1.13.0 |
2 | 2 |
| 3 ### Core library changes |
| 4 |
3 * `dart:core` | 5 * `dart:core` |
4 * `Uri` added `removeFragment` method. | 6 * `Uri` added `removeFragment` method. |
5 * `String.allMatches` (implementing `Pattern.allMatches`) is now lazy, | 7 * `String.allMatches` (implementing `Pattern.allMatches`) is now lazy, |
6 as all `allMatches` implementations are intended to be. | 8 as all `allMatches` implementations are intended to be. |
7 | 9 |
8 * `dart:io` | 10 * `dart:io` |
9 * `HttpClient` no longer sends URI fragments in the request. This is not | 11 * `HttpClient` no longer sends URI fragments in the request. This is not |
10 allowed by the HTTP protocol. | 12 allowed by the HTTP protocol. |
11 The `HttpServer` still gracefully receives fragments, but discards them | 13 The `HttpServer` still gracefully receives fragments, but discards them |
12 before delivering the request. | 14 before delivering the request. |
13 | 15 |
14 * `dart:async` | 16 * `dart:async` |
15 * `StreamTransformer`s created with `fromHandlers` with no `handleError` | 17 * `StreamTransformer`s created with `fromHandlers` with no `handleError` |
16 callback now forward stack traces along with errors to the resulting | 18 callback now forward stack traces along with errors to the resulting |
17 streams. | 19 streams. |
18 | 20 |
19 ### Tool changes | 21 ### Tool changes |
20 | 22 |
21 * `docgen` and 'dartdocgen' no longer ship in the sdk. The `docgen` sources have | 23 * `docgen` and 'dartdocgen' no longer ship in the sdk. The `docgen` sources have |
22 been removed from the repository. | 24 been removed from the repository. |
23 | 25 |
| 26 * This is the last release to ship the VM's "legacy debug protocol". |
| 27 We intend to remove the legacy debug protocol in Dart VM 1.14. |
| 28 |
24 ## 1.12.0 | 29 ## 1.12.0 |
25 | 30 |
26 ### Language changes | 31 ### Language changes |
27 | 32 |
28 * Null-aware operators | 33 * Null-aware operators |
29 * `??`: if null operator. `expr1 ?? expr2` evaluates to `expr1` if not `null
`, otherwise `expr2`. | 34 * `??`: if null operator. `expr1 ?? expr2` evaluates to `expr1` if not `null
`, otherwise `expr2`. |
30 * `??=`: null-aware assignment. `v ??= expr` causes `v` to be assigned `expr
` only if `v` is `null`. | 35 * `??=`: null-aware assignment. `v ??= expr` causes `v` to be assigned `expr
` only if `v` is `null`. |
31 * `x?.p`: null-aware access. `x?.p` evaluates to `x.p` if `x` is not `null`,
otherwise evaluates to `null`. | 36 * `x?.p`: null-aware access. `x?.p` evaluates to `x.p` if `x` is not `null`,
otherwise evaluates to `null`. |
32 * `x?.m()`: null-aware method invocation. `x?.m()` invokes `m` only if `x` i
s not `null`. | 37 * `x?.m()`: null-aware method invocation. `x?.m()` invokes `m` only if `x` i
s not `null`. |
33 | 38 |
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
544 they will keep the Dart process alive until they time out. This fixes the | 549 they will keep the Dart process alive until they time out. This fixes the |
545 handling of persistent connections. Previously, the client would shut down | 550 handling of persistent connections. Previously, the client would shut down |
546 immediately after a request. | 551 immediately after a request. |
547 | 552 |
548 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 553 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
549 default. The new `autoCompress` property can be set to `true` to re-enable | 554 default. The new `autoCompress` property can be set to `true` to re-enable |
550 compression. | 555 compression. |
551 | 556 |
552 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 557 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
553 which controls how it resolves `package:` URIs. | 558 which controls how it resolves `package:` URIs. |
OLD | NEW |