| 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 |
| 7 * `dart:io` | 8 * `dart:io` |
| 8 * `HttpClient` no longer sends URI fragments in the requeust. This is not | 9 * `HttpClient` no longer sends URI fragments in the requeust. This is not |
| 9 allowed by the HTTP protocol. | 10 allowed by the HTTP protocol. |
| 10 The `HttpServer` still gracefully receives fragments, but discards them | 11 The `HttpServer` still gracefully receives fragments, but discards them |
| 11 before delivering the request. | 12 before delivering the request. |
| 12 * `dart:async` | |
| 13 * `StreamController` added getters for the `onListen`, `onPause`, `onResume` | |
| 14 and `onCancel` callbacks. | |
| 15 | |
| 16 | 13 |
| 17 ## 1.12.0 | 14 ## 1.12.0 |
| 18 | 15 |
| 19 ### Core library changes | 16 ### Core library changes |
| 20 | 17 |
| 21 * `dart:async` | 18 * `dart:async` |
| 22 * `StreamController` added setters for the `onListen`, `onPause`, `onResume` | 19 * `StreamController` added setters for the `onListen`, `onPause`, `onResume` |
| 23 and `onCancel` callbacks. | 20 and `onCancel` callbacks. |
| 24 | 21 |
| 25 * `dart:convert` | 22 * `dart:convert` |
| 26 * `LineSplitter` added a `split` static method returning an `Iterable`. | 23 * `LineSplitter` added a `split` static method returning an `Iterable`. |
| 27 | 24 |
| 28 * `dart:core` | 25 * `dart:core` |
| 29 * `Uri` class now perform path normalization when a URI is created. | 26 * `Uri` class now perform path normalization when a URI is created. |
| 30 This removes most `..` and `.` sequences from the URI path. | 27 This removes most `..` and `.` sequences from the URI path. |
| 31 Purely relative paths (no scheme or authority) are allowed to retain | 28 Purely relative paths (no scheme or authority) are allowed to retain |
| 32 some leading "dot" segments. | 29 some leading "dot" segments. |
| 33 Also added `hasAbsolutePath`, `hasEmptyPath`, and `hasScheme` properties. | 30 Also added `hasAbsolutePath`, `hasEmptyPath`, and `hasScheme` properties. |
| 34 | 31 |
| 32 * `dart:developer` |
| 33 * New `log` function to transmit logging events to Observatory. |
| 34 |
| 35 * `dart:html` | 35 * `dart:html` |
| 36 * `NodeTreeSanitizer` added the `const trusted` field. It can be used | 36 * `NodeTreeSanitizer` added the `const trusted` field. It can be used |
| 37 instead of defining a `NullTreeSanitizer` class when calling | 37 instead of defining a `NullTreeSanitizer` class when calling |
| 38 `setInnerHtml` or other methods that create DOM from text. It is | 38 `setInnerHtml` or other methods that create DOM from text. It is |
| 39 also more efficient, skipping the creation of a `DocumentFragment`. | 39 also more efficient, skipping the creation of a `DocumentFragment`. |
| 40 | 40 |
| 41 * `dart:io` | 41 * `dart:io` |
| 42 * Added two new file modes, `WRITE_ONLY` and `WRITE_ONLY_APPEND` for | 42 * Added two new file modes, `WRITE_ONLY` and `WRITE_ONLY_APPEND` for |
| 43 opening a file write only. | 43 opening a file write only. |
| 44 [eaeecf2](https://github.com/dart-lang/sdk/commit/eaeecf2ed13ba6c7fbfd653c3c
592974a7120960) | 44 [eaeecf2](https://github.com/dart-lang/sdk/commit/eaeecf2ed13ba6c7fbfd653c3c
592974a7120960) |
| 45 * Change stdout/stderr to binary mode on Windows. | 45 * Change stdout/stderr to binary mode on Windows. |
| 46 [4205b29](https://github.com/dart-lang/sdk/commit/4205b2997e01f2cea8e2f44c6f
46ed6259ab7277) | 46 [4205b29](https://github.com/dart-lang/sdk/commit/4205b2997e01f2cea8e2f44c6f
46ed6259ab7277) |
| 47 | 47 |
| 48 * `dart:isolate` | 48 * `dart:isolate` |
| 49 * Added `onError`, `onExit` and `errorsAreFatal` parameters to | 49 * Added `onError`, `onExit` and `errorsAreFatal` parameters to |
| 50 `Isolate.spawnUri`. | 50 `Isolate.spawnUri`. |
| 51 | 51 |
| 52 * `dart:mirrors` | 52 * `dart:mirrors` |
| 53 * `InstanceMirror.delegate` moved up to `ObjectMirror`. | 53 * `InstanceMirror.delegate` moved up to `ObjectMirror`. |
| 54 * Fix InstanceMirror.getField optimization when the selector is an operator. | 54 * Fix InstanceMirror.getField optimization when the selector is an operator. |
| 55 * Fix reflective NoSuchMethodErrors to match their non-reflective | 55 * Fix reflective NoSuchMethodErrors to match their non-reflective |
| 56 counterparts when due to argument mismatches. (VM only) | 56 counterparts when due to argument mismatches. (VM only) |
| 57 | 57 |
| 58 * `dart:developer` | 58 ### Tool changes |
| 59 * New `log` function to transmit logging events to Observatory. | |
| 60 | 59 |
| 61 ### Tool changes | 60 * Documentation tools |
| 61 |
| 62 * `dartdoc` is now the default tool to generate static HTML for API docs. |
| 63 [Learn more](https://pub.dartlang.org/packages/dartdoc). |
| 64 |
| 65 * `docgen` and `dartdocgen` have been deprecated. Currently plan is to remove |
| 66 them in 1.13. |
| 67 |
| 68 * Formatter (`dartfmt`) |
| 69 |
| 70 * Over 50 bugs fixed. |
| 71 |
| 72 * Optimized line splitter is much faster and produces better output on |
| 73 complex code. |
| 74 |
| 75 * Observatory |
| 76 * Allocation profiling. |
| 77 |
| 78 * New feature to display output from logging. |
| 79 |
| 80 * Heap snapshot analysis works for 64-bit VMs. |
| 81 |
| 82 * Improved ability to inspect typed data, regex and compiled code. |
| 83 |
| 84 * Ability to break on all or uncaught exceptions from Observatory's debugger. |
| 85 |
| 86 * Ability to set closure-specific breakpoints. |
| 87 |
| 88 * 'anext' - step past await/yield. |
| 89 |
| 90 * Preserve when a variable has been expanded/unexpanded in the debugger. |
| 91 |
| 92 * Keep focus on debugger input box whenever possible. |
| 93 |
| 94 * Echo stdout/stderr in the Observatory debugger. Standalone-only so far. |
| 95 |
| 96 * Minor fixes to service protocol documentation. |
| 62 | 97 |
| 63 * Pub | 98 * Pub |
| 64 | 99 |
| 65 * **Breaking:** various commands that previously ran `pub get` implicitly no | 100 * **Breaking:** various commands that previously ran `pub get` implicitly no |
| 66 longer do so. Instead, they merely check to make sure the ".packages" file | 101 longer do so. Instead, they merely check to make sure the ".packages" file |
| 67 is newer than the pubspec and the lock file, and fail if it's not. | 102 is newer than the pubspec and the lock file, and fail if it's not. |
| 68 | 103 |
| 69 * Added support for `--verbosity=error` and `--verbosity=warning`. | 104 * Added support for `--verbosity=error` and `--verbosity=warning`. |
| 70 | 105 |
| 71 * `pub serve` now collapses multiple GET requests into a single line of | 106 * `pub serve` now collapses multiple GET requests into a single line of |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 (such as the built-in `$dart2js` transformer) has been fixed. | 153 (such as the built-in `$dart2js` transformer) has been fixed. |
| 119 | 154 |
| 120 * A stack overflow caused by a transformer being run multiple times on the | 155 * A stack overflow caused by a transformer being run multiple times on the |
| 121 package that defines it has been fixed. | 156 package that defines it has been fixed. |
| 122 | 157 |
| 123 * A transformer that tries to read a non-existent asset in another package | 158 * A transformer that tries to read a non-existent asset in another package |
| 124 will now be re-run if that asset is later created. | 159 will now be re-run if that asset is later created. |
| 125 | 160 |
| 126 [package spec proposal]: https://github.com/lrhn/dep-pkgspec | 161 [package spec proposal]: https://github.com/lrhn/dep-pkgspec |
| 127 | 162 |
| 128 * Formatter (`dartfmt`) | |
| 129 | |
| 130 * Over 50 bugs fixed. | |
| 131 | |
| 132 * Optimized line splitter is much faster and produces better output on | |
| 133 complex code. | |
| 134 | |
| 135 * Observatory | |
| 136 * Allocation profiling. | |
| 137 * New feature to display output from logging. | |
| 138 * Heap snapshot analysis works for 64-bit VMs. | |
| 139 * Improved ability to inspect typed data, regex and compiled code. | |
| 140 * Ability to break on all or uncaught exceptions from Observatory's debugger. | |
| 141 * Ability to set closure-specific breakpoints. | |
| 142 * 'anext' - step past await/yield. | |
| 143 * Preserve when a variable has been expanded/unexpanded in the debugger. | |
| 144 * Keep focus on debugger input box whenever possible. | |
| 145 * Echo stdout/stderr in the Observatory debugger. Standalone-only so far. | |
| 146 * Minor fixes to service protocol documentation. | |
| 147 | |
| 148 * dartdocgen and docgen | |
| 149 * Deprecated in favor of dartdoc (see below). Currently plan is to remove | |
| 150 dartdocgen in 1.13. | |
| 151 | |
| 152 * dartdoc | |
| 153 * New tool to generate static HTML for API docs. | |
| 154 [Learn more](https://pub.dartlang.org/packages/dartdoc). | |
| 155 | |
| 156 | |
| 157 ### VM Service Protocol Changes | 163 ### VM Service Protocol Changes |
| 158 | 164 |
| 159 * **BREAKING** The service protocol now sends JSON-RPC 2.0-compatible | 165 * **BREAKING** The service protocol now sends JSON-RPC 2.0-compatible |
| 160 server-to-client events. To reflect this, the service protocol version is | 166 server-to-client events. To reflect this, the service protocol version is |
| 161 now 2.0. | 167 now 2.0. |
| 162 | 168 |
| 163 * The service protocol now includes a `"jsonrpc"` property in its responses, as | 169 * The service protocol now includes a `"jsonrpc"` property in its responses, as |
| 164 opposed to `"json-rpc"`. | 170 opposed to `"json-rpc"`. |
| 165 | 171 |
| 166 * The service protocol now properly handles requests with non-string ids. | 172 * The service protocol now properly handles requests with non-string ids. |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 they will keep the Dart process alive until they time out. This fixes the | 526 they will keep the Dart process alive until they time out. This fixes the |
| 521 handling of persistent connections. Previously, the client would shut down | 527 handling of persistent connections. Previously, the client would shut down |
| 522 immediately after a request. | 528 immediately after a request. |
| 523 | 529 |
| 524 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 530 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
| 525 default. The new `autoCompress` property can be set to `true` to re-enable | 531 default. The new `autoCompress` property can be set to `true` to re-enable |
| 526 compression. | 532 compression. |
| 527 | 533 |
| 528 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 534 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
| 529 which controls how it resolves `package:` URIs. | 535 which controls how it resolves `package:` URIs. |
| OLD | NEW |