Update CHANGELOG.md for Dart 2.4.0 stable
Closes #37239
https://github.com/dart-lang/sdk/pull/37239
GitOrigin-RevId: 534651bc9dcf23672d829b92b07f985a3ccd529d
Change-Id: I7d53f304ebbb73ac09d3cb0157ffc2aa4e66471e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105727
Commit-Queue: Aadil Maan <aadilmaan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
diff --git a/CHANGELOG.md b/CHANGELOG.md
index acde42a..cfbf05c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,27 @@
-## 2.3.3-dev.XX.0
+## 2.4.1-dev.XX.0
(Add new changes here, and they will be copied to the change section for the
next dev version)
+### Language
+
+### Core libraries
+
+#### `dart:core`
+
+* Update `Uri` class to support [RFC6874](https://tools.ietf.org/html/rfc6874):
+ "%25" or "%" can be appended to the end of a valid IPv6 representing a Zone
+ Identifier. A valid zone ID consists of unreversed character or Percent
+ encoded octet, which was defined in RFC3986.
+ IPv6addrz = IPv6address "%25" ZoneID
+
+ [29456]: https://github.com/dart-lang/sdk/issues/29456
+
+### Dart VM
+
+### Tools
+
+## 2.4.0 - 2019-06-24
+
### Core libraries
#### `dart:isolate`
@@ -9,34 +29,15 @@
* `TransferableTypedData` class was added to facilitate faster cross-isolate
communication of `Uint8List` data.
-#### Linter
+* **Breaking change**: `Isolate.resolvePackageUri` will always throw an
+ `UnsupportedError` when compiled with dart2js or DDC. This was the only
+ remaining API in `dart:isolate` that didn't automatically throw since we
+ dropped support for this library in [Dart 2.0.0][1]. Note that the API already
+ throws in dart2js if the API is used directly without manually setting up a
+ `defaultPackagesBase` hook.
-The Linter was updated to `0.1.91`, which includes the following changes:
+[1]: https://github.com/dart-lang/sdk/blob/master/CHANGELOG.md#200---2018-08-07
-* fixed missed cases in `prefer_const_constructors`
-* fixed `prefer_initializing_formals` to no longer suggest API breaking changes
-* updated `omit_local_variable_types` to allow explicit `dynamic`s
-* (internal) migration from deprecated analyzer APIs
-
-## 2.3.2-dev.0.1
-
-### Language
-
-* **Breaking change:** Covariance of type variables used in super-interfaces
- is now enforced (issue [35097][]). For example, the following code was
- previously accepted and will now be rejected:
-
-```dart
-class A<X> {};
-class B<X> extends A<void Function(X)> {};
-```
-
-* The identifier `async` can now be used in asynchronous and generator
- functions.
-
-[35097]: https://github.com/dart-lang/sdk/issues/35097
-
-### Core libraries
#### `dart:developer`
* Exposed `result`, `errorCode` and `errorDetail` getters in
@@ -66,65 +67,10 @@
interface, this is a breaking change, as implementing classes will need to
implement the new getter.
-#### `dart:isolate`
-
-* **Breaking change**: `Isolate.resolvePackageUri` will always throw an
- `UnsupportedError` when compiled with dart2js or DDC. This was the only
- remaining API in `dart:isolate` that didn't automatically throw since we
- dropped support for this library in [Dart 2.0.0][1]. Note that the API already
- throws in dart2js if the API is used directly without setting up manually a
- `defaultPackagesBase` hook.
-
-[1]: https://github.com/dart-lang/sdk/blob/master/CHANGELOG.md#200---2018-08-07
-
-#### `dart:core`
-
-* Update `Uri` class to support RFC6874: https://tools.ietf.org/html/rfc6874
- "%25" or "%" can be appended to the end of a valid IPv6 representing a Zone
- Identifier. A valid zone ID consists of unreversed character or Percent
- encoded octet, which was defined in RFC3986.
- IPv6addrz = IPv6address "%25" ZoneID
-
- [29456]: https://github.com/dart-lang/sdk/issues/29456
-
-### Dart VM
-
-### Tools
-
-#### Linter
-
-The Linter was updated to `0.1.90`, which includes the following changes:
-
-* fixed null-reference in `unrelated_type_equality_checks`
-* new lint: `unsafe_html`
-
-#### Pub
-
-* `pub publish` will no longer warn about missing dependencies for import
- statements in `example/`.
-* OAuth2 authentication will explicitely ask for the `openid` scope.
-
-## 2.3.2-dev.0.0
-
-### Tools
-
-#### Linter
-
-Updated the linter to `0.1.89`, which includes the following changes:
-
-* Broadened `prefer_null_aware_operators` to work beyond local variables.
-* Added `prefer_if_null_operators`.
-* Fixed `prefer_contains` false positives.
-* Fixed `unnecessary_parenthesis` false positives.
-
-## 2.3.1-dev.0.0
-
-### Core libraries
-
#### `dart:async`
-* **Breaking change:**
- Fixed bug in `StreamIterator` that allowed constructor argument to be `null`
- and allowed `await for` on a `null` stream. This is now a runtime error.
+
+* **Breaking change:** The `await for` allowed `null` as a stream due to a bug
+ in `StreamIterator` class. This bug has now been fixed.
#### `dart:core`
@@ -149,10 +95,49 @@
This change only affects implementers of the `RegExp` interface; current
code using Dart regular expressions will not be affected.
-#### `dart:isolate`
+### Language
-* **Breaking change:** The `await for` allowed `null` as a stream due to a bug
- in `StreamIterator` class. This bug has now been fixed.
+* **Breaking change:** Covariance of type variables used in super-interfaces
+ is now enforced (issue [35097][]). For example, the following code was
+ previously accepted and will now be rejected:
+
+```dart
+class A<X> {};
+class B<X> extends A<void Function(X)> {};
+```
+
+* The identifier `async` can now be used in asynchronous and generator
+ functions.
+
+[35097]: https://github.com/dart-lang/sdk/issues/35097
+
+### Tools
+
+#### Linter
+
+The Linter was updated to `0.1.91`, which includes the following changes:
+
+* Fixed missed cases in `prefer_const_constructors`
+* Fixed `prefer_initializing_formals` to no longer suggest API breaking changes
+* Updated `omit_local_variable_types` to allow explicit `dynamic`s
+* Fixed null-reference in `unrelated_type_equality_checks`
+* New lint: `unsafe_html`
+* Broadened `prefer_null_aware_operators` to work beyond local variables.
+* Added `prefer_if_null_operators`.
+* Fixed `prefer_contains` false positives.
+* Fixed `unnecessary_parenthesis` false positives.
+* New lint: `prefer_double_quotes`
+* Fixed `prefer_asserts_in_initializer_lists` false positives
+* Fixed `curly_braces_in_flow_control_structures` to handle more cases
+* New lint: `prefer_double_quotes`
+* New lint: `sort_child_properties_last`
+* Fixed `type_annotate_public_apis` false positive for `static const` initializers
+
+#### Pub
+
+* `pub publish` will no longer warn about missing dependencies for import
+ statements in `example/`.
+* OAuth2 authentication will explicitely ask for the `openid` scope.
## 2.3.2 - 2019-06-11