Skip to content

Commit

Permalink
Version 2.4.0
Browse files Browse the repository at this point in the history
Merge commit 'f0240e91c93629cfb9f02b6307c11d787ae0b94b' into stable
  • Loading branch information
athomas committed Jun 13, 2019
2 parents 7a9c3ef + f0240e9 commit 1d8b812
Show file tree
Hide file tree
Showing 2,444 changed files with 127,610 additions and 79,220 deletions.
31 changes: 24 additions & 7 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
Thank you for taking the time to file an issue!

In order to route, prioritize, and act on this, please include:
This tracker is for issues related to:

* Analyzer
* Common Front End (CFE) and kernel
* Dart core libraries ("dart:async", "dart:io", etc.)
* Dart VM
* dart2js
* dartfix
* dev_compiler

Some other pieces of the Dart ecosystem are maintained elsewhere. Please
file issues in their repository:

* Dart language: https://github.com/dart-lang/language
* Dart website: https://github.com/dart-lang/site-www
* Flutter: https://github.com/flutter/flutter
* Linter: https://github.com/dart-lang/linter
* dartfmt: https://github.com/dart-lang/dart_style

If you aren't sure, file the issue here and we'll find the right home for it.
In your issue, please include:

* Dart SDK Version (`dart --version`)
* Whether you are using Windows, MacOSX, or Linux (if applicable)
Expand All @@ -9,13 +29,10 @@ In order to route, prioritize, and act on this, please include:
Missing some or all of the above might make the issue take longer or be
impossible to act on.

----
If you simply have a question, consider starting with Stack Overflow:

Is it really an issue? For general questions consider starting with Stack
Overflow:
https://stackoverflow.com/questions/tagged/dart

Also consider our Gitter channel for light-weight/quick discussions:
https://gitter.im/dart-lang/sdk
For a real-time response, consider our Gitter channel:

-----
https://gitter.im/dart-lang/sdk
2 changes: 2 additions & 0 deletions .packages
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@ matcher:third_party/pkg/matcher/lib
meta:pkg/meta/lib
mime:third_party/pkg/mime/lib
mockito:third_party/pkg/mockito/lib
modular_test:pkg/modular_test/lib
mustache:third_party/pkg/mustache/lib
nnbd_migration:pkg/nnbd_migration/lib
oauth2:third_party/pkg/oauth2/lib
observatory:runtime/observatory/lib
observatory_test_package:runtime/observatory/tests/service/observatory_test_package
Expand Down
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
# Name/Organization <email address>

Google Inc.
The V8 project authors

Ola Martin Bini <ola.bini@gmail.com>
Michael Haubenwallner <michael.haubenwallner@gmail.com>
Expand Down
121 changes: 118 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,121 @@
## 2.3.2
## 2.4.0 - 2019-06-24

* Cherry-pick 3972f738ca4e91104e2d6dad9bb1f36147879e98 to stable
### Core libraries

#### `dart:isolate`

* `TransferableTypedData` class was added to facilitate faster cross-isolate
communication of `Uint8List` data.

* **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.

[1]: https://github.com/dart-lang/sdk/blob/master/CHANGELOG.md#200---2018-08-07


#### `dart:developer`
* Exposed `result`, `errorCode` and `errorDetail` getters in
`ServiceExtensionResponse` to allow for better debugging of VM service
extension RPC results.

#### `dart:io`

* Fixed `Cookie` class interoperability with certain websites by allowing the
cookie values to be the empty string (Issue [35804][]) and not stripping
double quotes from the value (Issue [33327][]) in accordance with RFC 6265.

[33327]: https://github.com/dart-lang/sdk/issues/33327
[35804]: https://github.com/dart-lang/sdk/issues/35804

* The `HttpClientResponse` interface has been extended with the addition of a
new `compressionState` getter, which specifies whether the body of a
response was compressed when it was received and whether it has been
automatically uncompressed via `HttpClient.autoUncompress` (Issue [36971][]).

As part of this change, a corresponding new enum was added to `dart:io`:
`HttpClientResponseCompressionState`.

[36971]: https://github.com/dart-lang/sdk/issues/36971

* **Breaking change**: For those implementing the `HttpClientResponse`
interface, this is a breaking change, as implementing classes will need to
implement the new getter.

#### `dart:async`

* **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`

* **Breaking change:** The `RegExp` interface has been extended with two new
constructor named parameters:

* `unicode:` (`bool`, default: `false`), for Unicode patterns
* `dotAll:` (`bool`, default: `false`), to change the matching behavior of
'.' to also match line terminating characters.

Appropriate properties for these named parameters have also been added so
their use can be detected after construction.

In addition, `RegExp` methods that originally returned `Match` objects
now return a more specific subtype, `RegExpMatch`, which adds two features:

* `Iterable<String> groupNames`, a property that contains the names of all
named capture groups
* `String namedGroup(String name)`, a method that retrieves the match for
the given named capture group

This change only affects implementers of the `RegExp` interface; current
code using Dart regular expressions will not be affected.

### 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

### 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

Expand Down Expand Up @@ -270,7 +385,7 @@ The Linter was updated to `0.1.86`, which includes the following changes:
`.g.dart`, etc.).
* Fixed false positives in `unnecessary_parenthesis`.

#### Pub client
#### Pub

* Added a CHANGELOG validator that complains if you `pub publish` without
mentioning the current version.
Expand Down
33 changes: 21 additions & 12 deletions DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ vars = {
"chromium_git": "https://chromium.googlesource.com",
"fuchsia_git": "https://fuchsia.googlesource.com",

"co19_2_rev": "a0a24a4bd5e4d913264fccfd600139af5b20c8e9",
"co19_2_rev": "c4a8862775188ecb25991b815e2f1f700b19d0cc",

# As Flutter does, we use Fuchsia's GN and Clang toolchain. These revision
# should be kept up to date with the revisions pulled by the Flutter engine.
Expand Down Expand Up @@ -79,7 +79,7 @@ vars = {
# and land the review.
#
# For more details, see https://github.com/dart-lang/sdk/issues/30164
"dart_style_tag": "1.2.7", # Please see the note above before updating.
"dart_style_tag": "1.2.8", # Please see the note above before updating.

"dartdoc_tag" : "v0.28.2",
"fixnum_tag": "0.10.9",
Expand All @@ -91,11 +91,12 @@ vars = {
"http_retry_tag": "0.1.1",
"http_tag" : "0.12.0+2",
"http_throttle_tag" : "1.0.2",
"icu_rev" : "c56c671998902fcc4fc9ace88c83daa99f980793",
"idl_parser_rev": "5fb1ebf49d235b5a70c9f49047e83b0654031eb7",
"intl_tag": "0.15.7",
"jinja2_rev": "2222b31554f03e62600cd7e383376a7c187967a1",
"json_rpc_2_tag": "2.0.9",
"linter_tag": "0.1.86",
"linter_tag": "0.1.91",
"logging_tag": "0.11.3+2",
"markupsafe_rev": "8f45f5cfa0009d2a70589bcda0349b8cb2b72783",
"markdown_tag": "2.0.3",
Expand All @@ -111,10 +112,10 @@ vars = {
"pedantic_tag": "v1.5.0",
"ply_rev": "604b32590ffad5cbb82e4afef1d305512d06ae93",
"pool_tag": "1.3.6",
"protobuf_rev": "0c77167b16d00b561a6055bfe26690af7f26ae88",
"pub_rev": "8c363fe26f059c3063f1129adbb3c4e22a8ce954",
"protobuf_rev": "7d34c9e4e552a4f66acce32e4344ae27756a1949",
"pub_rev": "ecd5b413271f2699f8cd9e23aa4eebb5030c964f",
"pub_semver_tag": "1.4.2",
"quiver_tag": "2.0.0+1",
"quiver-dart_tag": "2.0.0+1",
"resource_rev": "2.1.5",
"root_certificates_rev": "16ef64be64c7dfdff2b9f4b910726e635ccc519e",
"shelf_static_rev": "v0.2.8",
Expand All @@ -132,7 +133,7 @@ vars = {
"test_process_tag": "1.0.3",
"term_glyph_tag": "1.0.1",
"test_reflective_loader_tag": "0.1.8",
"test_tag": "test-v1.6.1",
"test_tag": "test-v1.6.4",
"typed_data_tag": "1.1.6",
"unittest_rev": "2b8375bc98bb9dc81c539c91aaea6adce12e1072",
"usage_tag": "3.4.0",
Expand All @@ -156,7 +157,7 @@ deps = {
Var("dart_root") + "/tools/sdks": {
"packages": [{
"package": "dart/dart-sdk/${{platform}}",
"version": "version:2.2.1-dev.3.1",
"version": "version:2.3.0",
}],
"dep_type": "cipd",
},
Expand All @@ -167,19 +168,23 @@ deps = {
}],
"dep_type": "cipd",
},

Var("dart_root") + "/tests/co19_2/src": {
"packages": [{
"package": "dart/third_party/co19",
"version": "git_revision:" + Var("co19_2_rev"),
}],
"dep_type": "cipd",
},

Var("dart_root") + "/third_party/markupsafe":
Var("chromium_git") + "/chromium/src/third_party/markupsafe.git" +
"@" + Var("markupsafe_rev"),

Var("dart_root") + "/third_party/babel": {
"packages": [{
"package": "dart/third_party/babel",
"version": "version:7.4.5",
}],
"dep_type": "cipd",
},
Var("dart_root") + "/third_party/zlib":
Var("chromium_git") + "/chromium/src/third_party/zlib.git" +
"@" + Var("zlib_rev"),
Expand Down Expand Up @@ -210,6 +215,10 @@ deps = {
Var("chromium_git") + "/chromium/src/third_party/ply.git" +
"@" + Var("ply_rev"),

Var("dart_root") + "/third_party/icu":
Var("chromium_git") + "/chromium/deps/icu.git" +
"@" + Var("icu_rev"),

Var("dart_root") + "/tools/idl_parser":
Var("chromium_git") + "/chromium/src/tools/idl_parser.git" +
"@" + Var("idl_parser_rev"),
Expand Down Expand Up @@ -315,7 +324,7 @@ deps = {
Var("dart_root") + "/third_party/pkg/quiver":
Var("chromium_git")
+ "/external/github.com/google/quiver-dart.git"
+ "@" + Var("quiver_tag"),
+ "@" + Var("quiver-dart_tag"),
Var("dart_root") + "/third_party/pkg/resource":
Var("dart_git") + "resource.git" + "@" + Var("resource_rev"),
Var("dart_root") + "/third_party/pkg/shelf":
Expand Down
45 changes: 34 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,43 @@
# Dart

[Dart][website] is an open-source, scalable programming language, with robust
libraries and runtimes, for building web, server, and mobile apps.
## A client-optimized language for fast apps on any platform

Dart is:

* **Optimized for UI**:
Develop with a programming language specialized around the needs of user interface creation

* **Productive**:
Make changes iteratively: use hot reload to see the result instantly in your running app

* **Fast on all platforms**:
Compile to ARM & x64 machine code for mobile, desktop, and backend. Or compile to JavaScript for the web

Dart has flexible compiler technology lets you run Dart code in different ways,
depending on your target platform and goals:

* **Dart Native**: For programs targeting devices (mobile, desktop, server, and more),
Dart Native includes both a Dart VM with JIT (just-in-time) compilation and an
AOT (ahead-of-time) compiler for producing machine code.

* **Dart Web**: For programs targeting the web, Dart Web includes both a development time
compiler (dartdevc) and a production time compiler (dart2js).

![Dart platforms illustration](https://dart.dev/assets/platforms-7f4d540acf9fe801b456ad74f9f855230a385014d05d9f5997c878b889a67a0f.svg)

## License & patents

Dart is free and open source.

See [LICENSE][license] and [PATENTS][patents].

## Using Dart

Visit the [dartlang.org][website] to learn more about the
Visit the [dart.dev][website] to learn more about the
[language][lang], [tools][tools],
[getting started][codelab], and more.

Browse [pub.dartlang.org][pubsite] for more packages and libraries contributed
Browse [pub.dev][pubsite] for more packages and libraries contributed
by the community and the Dart team.

## Building Dart
Expand All @@ -26,18 +54,13 @@ The easiest way to contribute to Dart is to [file issues][dartbug].

You can also contribute patches, as described in [Contributing][contrib].

## License & patents

See [LICENSE][license] and [PATENTS][patents].

[website]: https://www.dartlang.org
[website]: https://dart.dev
[license]: https://github.com/dart-lang/sdk/blob/master/LICENSE
[repo]: https://github.com/dart-lang/sdk
[lang]: https://www.dartlang.org/docs/dart-up-and-running/ch02.html
[tools]: https://www.dartlang.org/tools/
[codelab]: https://www.dartlang.org/codelabs/darrrt/
[dartbug]: http://dartbug.com
[contrib]: https://github.com/dart-lang/sdk/wiki/Contributing
[pubsite]: https://pub.dartlang.org
[pubsite]: https://pub.dev
[patents]: https://github.com/dart-lang/sdk/blob/master/PATENTS

6 changes: 1 addition & 5 deletions WATCHLISTS
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@
'front_end': {
'filepath': '^pkg/front_end',
},
'http': {
'filepath': '^sdk/lib/_http',
},
'kernel': {
'filepath': '^pkg/kernel',
},
Expand Down Expand Up @@ -68,11 +65,10 @@
},

'WATCHLISTS': {
'build': [ 'zra@google.com', 'keertip@google.com' ],
'build': [ 'keertip@google.com' ],
'dart2js': [ 'johnniwinther@google.com', 'sigmund@google.com',
'sra@google.com'],
'front_end': [ 'dart-fe-team+reviews@google.com' ],
'http': [ 'zra@google.com' ],
'kernel': [ 'karlklose@google.com', 'jensj@google.com', 'kmillikin@google.com',
'alexmarkov@google.com' ],
'messages_review': [ 'dart-uxr+reviews@google.com' ],
Expand Down
Loading

0 comments on commit 1d8b812

Please sign in to comment.