| Index: CHANGELOG.md
|
| diff --git a/CHANGELOG.md b/CHANGELOG.md
|
| index 0d5f01332e9a2eb02a31cfd7d28906ff74a2036c..a944644590c2e371569da165aa0a60f87b3675e2 100644
|
| --- a/CHANGELOG.md
|
| +++ b/CHANGELOG.md
|
| @@ -2,12 +2,12 @@
|
|
|
| ### Language
|
|
|
| +#### Strong Mode
|
| +
|
| ### Core library changes
|
|
|
| ### Dart VM
|
|
|
| -### Strong Mode
|
| -
|
| ### Tool Changes
|
|
|
| ## 1.23.0
|
| @@ -20,32 +20,43 @@
|
| This allows libraries with no library declarations (and therefore no name)
|
| to have parts, and it allows tools to easily find the library of a part file.
|
|
|
| -### Core library changes
|
| +#### Strong Mode
|
|
|
| -* `dart:core`
|
| - * Added `Uri.isScheme` function to check the scheme of a URI.
|
| - Example: `uri.isScheme("http")`. Ignores case when comparing.
|
| - * Make `UriData.parse` validate its input better.
|
| - If the data is base-64 encoded, the data is normalized wrt.
|
| - alphabet and padding, and it contains invalid base-64 data,
|
| - parsing fails. Also normalizes non-base-64 data.
|
| -* `dart:io`
|
| - * Added functions `File.lastAccessed`, `File.lastAccessedSync`,
|
| - `File.setLastModified`, `File.setLastModifiedSync`, `File.setLastAccessed`,
|
| - and `File.setLastAccessedSync`.
|
| - * Added `{Stdin,Stdout}.supportsAnsiEscapes`.
|
| +* Breaking change - it is now a strong mode error if a mixin causes a name
|
| + conflict between two private members (field/getter/setter/method) from a
|
| + different library. (SDK
|
| + issue [28809](https://github.com/dart-lang/sdk/issues/28809)).
|
|
|
| -### Dart VM
|
| +lib1.dart:
|
|
|
| -* Calls to `print()` and `Stdout.write*()` now correctly print unicode
|
| - characters to the console on Windows. Calls to `Stdout.add*()` behave as
|
| - before.
|
|
|
| -### Strong Mode
|
| +```dart
|
| +class A {
|
| + int _x;
|
| +}
|
| +
|
| +class B {
|
| + int _x;
|
| +}
|
| +```
|
| +
|
| +lib2.dart:
|
| +
|
| +
|
| +```dart
|
| +import 'lib1.dart';
|
| +
|
| +class C extends A with B {}
|
| +```
|
| +
|
| +```
|
| + error • The private name _x, defined by B, conflicts with the same name defined by A at tmp/lib2.dart:3:24 • private_collision_in_mixin_application
|
| +```
|
| +
|
|
|
| -* Strong mode will prefer the expected type to infer generic types,
|
| - functions, and methods
|
| - (SDK issue [27586](https://github.com/dart-lang/sdk/issues/27586)).
|
| +* Breaking change - strong mode will prefer the expected type to infer generic
|
| + types, functions, and methods (SDK
|
| + issue [27586](https://github.com/dart-lang/sdk/issues/27586)).
|
|
|
| ```dart
|
| main() {
|
| @@ -91,6 +102,49 @@
|
| }
|
| ```
|
|
|
| +* Strong mode down cast composite warnings are no longer issued by default.
|
| + (SDK issue [28588](https://github.com/dart-lang/sdk/issues/28588)).
|
| +
|
| +```dart
|
| +void test() {
|
| + List untyped = [];
|
| + List<int> typed = untyped; // No down cast composite warning
|
| +}
|
| +```
|
| +
|
| +To opt back into the warnings, add the following to
|
| +the
|
| +[.analysis_options](https://www.dartlang.org/guides/language/analysis-options)
|
| +file for your project.
|
| +
|
| +```
|
| +analyzer:
|
| + errors:
|
| + strong_mode_down_cast_composite: warning
|
| +```
|
| +
|
| +
|
| +### Core library changes
|
| +
|
| +* `dart:core`
|
| + * Added `Uri.isScheme` function to check the scheme of a URI.
|
| + Example: `uri.isScheme("http")`. Ignores case when comparing.
|
| + * Make `UriData.parse` validate its input better.
|
| + If the data is base-64 encoded, the data is normalized wrt.
|
| + alphabet and padding, and it contains invalid base-64 data,
|
| + parsing fails. Also normalizes non-base-64 data.
|
| +* `dart:io`
|
| + * Added functions `File.lastAccessed`, `File.lastAccessedSync`,
|
| + `File.setLastModified`, `File.setLastModifiedSync`, `File.setLastAccessed`,
|
| + and `File.setLastAccessedSync`.
|
| + * Added `{Stdin,Stdout}.supportsAnsiEscapes`.
|
| +
|
| +### Dart VM
|
| +
|
| +* Calls to `print()` and `Stdout.write*()` now correctly print unicode
|
| + characters to the console on Windows. Calls to `Stdout.add*()` behave as
|
| + before.
|
| +
|
| ### Tool changes
|
|
|
| * Analysis
|
|
|