Chromium Code Reviews| 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 * `dart:core`: Added `Uri.isScheme` function to check the scheme of a URI. | 8 |
| 9 Example: `uri.isScheme("http")`. Ignores case when comparing. | 9 * `dart:core` |
| 10 * `dart:core`: Make `UriData.parse` validate its input better. | 10 * Added `Uri.isScheme` function to check the scheme of a URI. |
| 11 If the data is base-64 encoded, the data is normalized wrt. | 11 Example: `uri.isScheme("http")`. Ignores case when comparing. |
| 12 alphabet and padding, and it contains invalid base-64 data, | 12 * Make `UriData.parse` validate its input better. |
| 13 parsing fails. Also normalizes non-base-64 data. | 13 If the data is base-64 encoded, the data is normalized wrt. |
| 14 * `dart:io`: Added functions `File.lastAccessed`, `File.lastAccessedSync`, | 14 alphabet and padding, and it contains invalid base-64 data, |
| 15 `File.setLastModified`, `File.setLastModifiedSync`, `File.setLastAccessed`, | 15 parsing fails. Also normalizes non-base-64 data. |
| 16 and `File.setLastAccessedSync`. | 16 * `dart:io` |
| 17 * `dart:io`: Added `Platform.ansiSupported`. | 17 * Added functions `File.lastAccessed`, `File.lastAccessedSync`, |
| 18 `File.setLastModified`, `File.setLastModifiedSync`, `File.setLastAccessed`, | |
| 19 and `File.setLastAccessedSync`. | |
| 20 * Added `Platform.ansiSupported`. | |
| 18 | 21 |
| 19 ### Dart VM | 22 ### Dart VM |
| 20 * Calls to `print()` and `Stdout.write*()` now correctly print unicode | 23 * Calls to `print()` and `Stdout.write*()` now correctly print unicode |
| 21 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 |
| 22 before. | 25 before. |
| 23 | 26 |
| 24 ### Tool changes | 27 ### Tool changes |
| 25 | 28 |
| 26 * Analysis | 29 * Analysis |
| 27 | 30 * `dartanalyzer` now follows the same rules as the analysis server to find |
| 28 * The `dartanalyzer` now follows the same rules as the analysis server to find an analysis options file, | 31 an analysis options file, stopping when an analysis options file is found: |
| 29 stopping when an analysis options file is found: | |
| 30 * Search up the directory hierarchy looking for an analysis options file. | 32 * Search up the directory hierarchy looking for an analysis options file. |
| 31 * If analyzing a project referencing the [Flutter](https://flutter.io/) pack age, then use the | 33 * If analyzing a project referencing the [Flutter](https://flutter.io/) |
| 34 package, then use the | |
| 32 [default Flutter analysis options](https://github.com/flutter/flutter/blob /master/packages/flutter/lib/analysis_options_user.yaml) | 35 [default Flutter analysis options](https://github.com/flutter/flutter/blob /master/packages/flutter/lib/analysis_options_user.yaml) |
| 33 found in `package:flutter`. | 36 found in `package:flutter`. |
| 34 * If in a Bazel workspace, then use the analysis options in `package:dart.an alysis_options/default.yaml` if it exists. | 37 * If in a Bazel workspace, then use the analysis options in |
| 38 `package:dart.analysis_options/default.yaml` if it exists. | |
| 35 * Use the default analysis options rules. | 39 * Use the default analysis options rules. |
| 36 * In addition, specific to `dartanalyzer`: | 40 * In addition, specific to `dartanalyzer`: |
| 37 * an analysis options file can be specified on the command line via `--optio ns` | 41 * an analysis options file can be specified on the command line via |
| 38 and that file will be used instead of searching for an analysis options fi le. | 42 `--options` and that file will be used instead of searching for an |
| 39 * any analysis option specified on the command line (e.g. `--strong` or `--n o-strong`) | 43 analysis options file. |
| 40 takes precedence over any corresponding value specified in the analysis op tions file. | 44 * any analysis option specified on the command line |
| 45 (e.g. `--strong` or `--no-strong`) takes precedence over any corresponding | |
| 46 value specified in the analysis options file. | |
| 41 | 47 |
| 48 * Pub | |
| 49 * `pub publish` | |
| 50 * Warns if a package imports a package that's not a dependency from within | |
| 51 `lib/` or `bin/`, or a package that's not a dev dependency from within | |
| 52 `test/` or `tool/`. | |
|
Bob Nystrom
2017/03/16 17:59:13
What does it do on benchmark/ and example/?
kevmoo
2017/03/17 20:11:01
Nothing yet. https://github.com/dart-lang/pub/issu
| |
| 53 * No longer produces "UID too large" errors on OS X. All packages are now | |
| 54 uploaded with the user and group names set to "pub". | |
| 55 * No longer fails with a stack overflow when uploading a package that uses | |
| 56 Git submodules. | |
| 57 * `pub get` and `pub upgrade` | |
| 58 * Produce more informative error messages if they're run directly in a | |
| 59 package that uses Flutter. | |
| 60 * Properly unlock SDK and path dependencies if they have a new version | |
| 61 that's also valid according to the user's pubspec. | |
| 42 | 62 |
| 43 ## 1.22.0 | 63 ## 1.22.0 |
| 44 | 64 |
| 45 ### Language | 65 ### Language |
| 46 | 66 |
| 47 * Breaking change: ['Generalized tear-offs'](https://github.com/gbracha/genera lizedTearOffs/blob/master/proposal.md) | 67 * Breaking change: |
| 68 ['Generalized tear-offs'](https://github.com/gbracha/generalizedTearOffs/blo b/master/proposal.md) | |
| 48 are no longer supported, and will cause errors. We updated the language spec | 69 are no longer supported, and will cause errors. We updated the language spec |
| 49 and added warnings in 1.21, and are now taking the last step to fully | 70 and added warnings in 1.21, and are now taking the last step to fully |
| 50 de-support them. They were previously only supported in the VM, and there | 71 de-support them. They were previously only supported in the VM, and there |
| 51 are almost no known uses of them in the wild. | 72 are almost no known uses of them in the wild. |
| 52 | 73 |
| 53 * The `assert()` statement has been expanded to support an optional second | 74 * The `assert()` statement has been expanded to support an optional second |
| 54 `message` argument (SDK issue [27342](https://github.com/dart-lang/sdk/issue s/27342)). | 75 `message` argument |
| 76 (SDK issue [27342](https://github.com/dart-lang/sdk/issues/27342)). | |
| 55 | 77 |
| 56 The message is displayed if the assert fails. It can be any object, and it | 78 The message is displayed if the assert fails. It can be any object, and it |
| 57 is accessible as `AssertionError.message`. It can be used to provide more | 79 is accessible as `AssertionError.message`. It can be used to provide more |
| 58 user friendly exception outputs. As an example, the following assert: | 80 user friendly exception outputs. As an example, the following assert: |
| 59 | 81 |
| 60 ```dart | 82 ```dart |
| 61 assert(configFile != null, "Tool config missing. Please see https://goo.gl/k 8iAi for details."); | 83 assert(configFile != null, "Tool config missing. Please see https://goo.gl/k 8iAi for details."); |
| 62 ``` | 84 ``` |
| 63 | 85 |
| 64 would produce the following exception output: | 86 would produce the following exception output: |
| (...skipping 1640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1705 they will keep the Dart process alive until they time out. This fixes the | 1727 they will keep the Dart process alive until they time out. This fixes the |
| 1706 handling of persistent connections. Previously, the client would shut down | 1728 handling of persistent connections. Previously, the client would shut down |
| 1707 immediately after a request. | 1729 immediately after a request. |
| 1708 | 1730 |
| 1709 * **Breaking change:** `HttpServer` no longer compresses all traffic by | 1731 * **Breaking change:** `HttpServer` no longer compresses all traffic by |
| 1710 default. The new `autoCompress` property can be set to `true` to re-enable | 1732 default. The new `autoCompress` property can be set to `true` to re-enable |
| 1711 compression. | 1733 compression. |
| 1712 | 1734 |
| 1713 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, | 1735 * `dart:isolate`: `Isolate.spawnUri` added the optional `packageRoot` argument, |
| 1714 which controls how it resolves `package:` URIs. | 1736 which controls how it resolves `package:` URIs. |
| OLD | NEW |