| OLD | NEW |
| 1 ## 1.23.0 | 1 ## 1.23.0 |
| 2 | 2 |
| 3 ### Language | 3 ### Language |
| 4 * Allow using URI strings in `part of` declarations to refer to the | 4 * Allow using URI strings in `part of` declarations to refer to the |
| 5 importing library. | 5 importing library. |
| 6 | 6 |
| 7 ### Core library changes | 7 ### Core library changes |
| 8 | 8 |
| 9 * `dart:core` | 9 * `dart:core` |
| 10 * Added `Uri.isScheme` function to check the scheme of a URI. | 10 * Added `Uri.isScheme` function to check the scheme of a URI. |
| 11 Example: `uri.isScheme("http")`. Ignores case when comparing. | 11 Example: `uri.isScheme("http")`. Ignores case when comparing. |
| 12 * Make `UriData.parse` validate its input better. | 12 * Make `UriData.parse` validate its input better. |
| 13 If the data is base-64 encoded, the data is normalized wrt. | 13 If the data is base-64 encoded, the data is normalized wrt. |
| 14 alphabet and padding, and it contains invalid base-64 data, | 14 alphabet and padding, and it contains invalid base-64 data, |
| 15 parsing fails. Also normalizes non-base-64 data. | 15 parsing fails. Also normalizes non-base-64 data. |
| 16 * `dart:io` | 16 * `dart:io` |
| 17 * Added functions `File.lastAccessed`, `File.lastAccessedSync`, | 17 * Added functions `File.lastAccessed`, `File.lastAccessedSync`, |
| 18 `File.setLastModified`, `File.setLastModifiedSync`, `File.setLastAccessed`, | 18 `File.setLastModified`, `File.setLastModifiedSync`, `File.setLastAccessed`, |
| 19 and `File.setLastAccessedSync`. | 19 and `File.setLastAccessedSync`. |
| 20 * Added Added `{Stdin,Stdout}.supportsAnsiEscapes`. | 20 * Added `{Stdin,Stdout}.supportsAnsiEscapes`. |
| 21 | 21 |
| 22 ### Dart VM | 22 ### Dart VM |
| 23 * Calls to `print()` and `Stdout.write*()` now correctly print unicode | 23 * Calls to `print()` and `Stdout.write*()` now correctly print unicode |
| 24 characters to the console on Windows. Calls to `Stdout.add*()` behave as | 24 characters to the console on Windows. Calls to `Stdout.add*()` behave as |
| 25 before. | 25 before. |
| 26 | 26 |
| 27 ### Tool changes | 27 ### Tool changes |
| 28 | 28 |
| 29 * Analysis | 29 * Analysis |
| 30 * `dartanalyzer` now follows the same rules as the analysis server to find | 30 * `dartanalyzer` now follows the same rules as the analysis server to find |
| (...skipping 16 matching lines...) Expand all Loading... |
| 47 | 47 |
| 48 * Dartium, dart2js, and DDC | 48 * Dartium, dart2js, and DDC |
| 49 | 49 |
| 50 * Imports to `dart:io` are allowed, but the imported library is not supported | 50 * Imports to `dart:io` are allowed, but the imported library is not supported |
| 51 and will likely fail on most APIs at runtime. This change was made as a | 51 and will likely fail on most APIs at runtime. This change was made as a |
| 52 stopgap measure to make it easier to write libraries that share code between | 52 stopgap measure to make it easier to write libraries that share code between |
| 53 platforms (like package `http`). This might change again when configuration | 53 platforms (like package `http`). This might change again when configuration |
| 54 specific imports are supported. | 54 specific imports are supported. |
| 55 | 55 |
| 56 * Pub | 56 * Pub |
| 57 * Now sends telemetry data to `pub.dartlang.org` to allow better understanding |
| 58 of why a particular package is being accessed. |
| 57 * `pub publish` | 59 * `pub publish` |
| 58 * Warns if a package imports a package that's not a dependency from within | 60 * Warns if a package imports a package that's not a dependency from within |
| 59 `lib/` or `bin/`, or a package that's not a dev dependency from within | 61 `lib/` or `bin/`, or a package that's not a dev dependency from within |
| 60 `test/` or `tool/`. | 62 `test/` or `tool/`. |
| 61 * No longer produces "UID too large" errors on OS X. All packages are now | 63 * No longer produces "UID too large" errors on OS X. All packages are now |
| 62 uploaded with the user and group names set to "pub". | 64 uploaded with the user and group names set to "pub". |
| 63 * No longer fails with a stack overflow when uploading a package that uses | 65 * No longer fails with a stack overflow when uploading a package that uses |
| 64 Git submodules. | 66 Git submodules. |
| 65 * `pub get` and `pub upgrade` | 67 * `pub get` and `pub upgrade` |
| 66 * Produce more informative error messages if they're run directly in a | 68 * Produce more informative error messages if they're run directly in a |
| (...skipping 1668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1735 they will keep the Dart process alive until they time out. This fixes the | 1737 they will keep the Dart process alive until they time out. This fixes the |
| 1736 handling of persistent connections. Previously, the client would shut down | 1738 handling of persistent connections. Previously, the client would shut down |
| 1737 immediately after a request. | 1739 immediately after a request. |
| 1738 | 1740 |
| 1739 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1741 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
| 1740 default. The new `autoCompress` property can be set to `true` to re-enable | 1742 default. The new `autoCompress` property can be set to `true` to re-enable |
| 1741 compression. | 1743 compression. |
| 1742 | 1744 |
| 1743 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1745 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
| 1744 which controls how it resolves `package:` URIs. | 1746 which controls how it resolves `package:` URIs. |
| OLD | NEW |