Skip to content

Commit 20dcfd9

Browse files
committed
Version 2.5.0-dev.2.0
Merge commit '804a338b5e268a8f30b50e1f3d78b0f7893821a7' into dev
2 parents 441cbde + 804a338 commit 20dcfd9

File tree

7,988 files changed

+314727
-145594
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

7,988 files changed

+314727
-145594
lines changed

.gitignore

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
/.project
44
/Makefile
55
/base
6-
/benchmarks
76
/buildtools
87
/ipch
98
/out
@@ -23,6 +22,11 @@
2322
/*.vcxproj.user
2423
*.stamp
2524

25+
# LLVM prebuilts
26+
/third_party/llvm/include
27+
/third_party/llvm/lib
28+
/third_party/llvm/.versions
29+
2630
# Gyp generated files
2731
*.xcodeproj
2832
*.intermediate
@@ -55,6 +59,9 @@ compile_commands.json
5559
# GDB files
5660
.gdb_history
5761

62+
# Clangd files
63+
.clangd
64+
5865
# Built by chromebot and downloaded from Google Storage
5966
client/tests/drt
6067

@@ -96,3 +103,4 @@ editor/util/testing/mac/Samples.suite/Results
96103
/outline.dill
97104
/generated/
98105
/crash_logs/
106+
/build/config/gclient_args.gni

.packages

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ args:third_party/pkg/args/lib
1717
async:third_party/pkg/async/lib
1818
async_helper:pkg/async_helper/lib
1919
bazel_worker:third_party/pkg/bazel_worker/lib
20+
benchmark_harness:third_party/pkg/benchmark_harness/lib
2021
boolean_selector:third_party/pkg/boolean_selector/lib
2122
build_integration:pkg/build_integration/lib
2223
charcode:third_party/pkg/charcode/lib
@@ -99,10 +100,12 @@ test_process:third_party/pkg/test_process/lib
99100
test_reflective_loader:third_party/pkg/test_reflective_loader/lib
100101
test_runner:pkg/test_runner/lib
101102
testing:pkg/testing/lib
103+
tflite_native:third_party/pkg/tflite_native/lib
102104
typed_data:third_party/pkg/typed_data/lib
103105
unittest:third_party/pkg/unittest/lib
104106
usage:third_party/pkg/usage/lib
105107
vm:pkg/vm/lib
108+
vm_service:pkg/vm_service/lib
106109
watcher:third_party/pkg/watcher/lib
107110
web_components:third_party/pkg/web_components/lib
108111
web_socket_channel:third_party/pkg/web_socket_channel/lib

.style.yapf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[style]
2+
based_on_style = google

BUILD.gn

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# for details. All rights reserved. Use of this source code is governed by a
33
# BSD-style license that can be found in the LICENSE file.
44

5+
import("build/config/gclient_args.gni")
56
import("build/dart/dart_host_sdk_toolchain.gni")
67

78
targetting_fuchsia = target_os == "fuchsia"
@@ -15,22 +16,30 @@ group("default") {
1516
deps = [
1617
":runtime",
1718
]
19+
if (checkout_llvm) {
20+
deps += [
21+
":llvm_codegen"
22+
]
23+
}
1824
}
1925

2026
group("most") {
27+
import("runtime/runtime_args.gni")
2128
if (targetting_fuchsia) {
2229
# Fuchsia has run_vm_tests marked testonly.
2330
testonly = true
2431
}
2532
deps = [
26-
":analysis_server",
2733
":create_sdk",
2834
":dart2js",
2935
":dartanalyzer",
3036
":dartdevc",
3137
":runtime",
3238
":samples",
3339
]
40+
if (dart_target_arch != "arm") {
41+
deps += [ ":analysis_server" ]
42+
}
3443
}
3544

3645
group("runtime") {
@@ -116,6 +125,23 @@ group("analysis_server") {
116125
]
117126
}
118127

128+
group("check_llvm") {
129+
if (checkout_llvm) {
130+
deps = [
131+
"runtime/llvm_codegen/test",
132+
]
133+
}
134+
}
135+
136+
group("llvm_codegen") {
137+
if (checkout_llvm) {
138+
deps = [
139+
"runtime/llvm_codegen/codegen",
140+
"runtime/llvm_codegen/bit",
141+
]
142+
}
143+
}
144+
119145
# This is the target that is built on the dart2js build bots.
120146
# It must depend on anything that is required by the dart2js
121147
# test suites.

CHANGELOG.md

Lines changed: 65 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,32 @@
2222
* `RawSocket.read()`
2323
* `Utf8Codec.encode()` (and `Utf8Encoder.convert()`)
2424

25-
In addition, the following methods and classes were updated to return or
26-
implement `Stream<Uint8List>` rather than `Stream<List<int>>`:
25+
In addition, the following classes were updated to implement
26+
`Stream<Uint8List>` rather than `Stream<List<int>>`:
2727

28-
* `File.openRead()`
2928
* `HttpRequest`
30-
* `HttpClientResponse`
29+
* `Socket`
30+
31+
**Possible errors and how to fix them**
32+
33+
* > The argument type 'Utf8Decoder' can't be assigned to the parameter type 'StreamTransformer<Uint8List, dynamic>'
34+
35+
> type 'Utf8Decoder' is not a subtype of type 'StreamTransformer' of 'streamTransformer'"
36+
37+
You can fix these call sites by updating your code to use
38+
`StreamTransformer.bind()` instead of `Stream.transform()`, like so:
39+
40+
*Before:* `stream.transform(utf8.decoder)`
41+
*After:* `utf8.decoder.bind(stream)`
42+
43+
* > The argument type 'IOSink' can't be assigned to the parameter type 'StreamConsumer<Uint8List>'
44+
45+
> type '_IOSinkImpl' is not a subtype of type 'StreamConsumer<Uint8List>' of 'streamConsumer'
46+
47+
You can fix these call sites by casting your stream instance to a `Stream<List<int>>` before calling `.pipe()` on the stream, like so:
48+
49+
*Before:* `stream.pipe(consumer)`
50+
*After:* `stream.cast<List<int>>().pipe(consumer)`
3151

3252
Finally, the following typed lists were updated to have their `sublist()`
3353
methods declare a return type that is the same as the source list:
@@ -47,7 +67,11 @@
4767
* `Uint32List.sublist()``Uint32List`
4868
* `Uint64List.sublist()``Uint64List`
4969

50-
70+
#### `dart:async`
71+
72+
* Add `value` and `error` constructors on `Stream`
73+
to allow easily creating single-value or single-error streams.
74+
5175
#### `dart:core`
5276

5377
* Update `Uri` class to support [RFC6874](https://tools.ietf.org/html/rfc6874):
@@ -91,12 +115,38 @@
91115
#### Pub
92116

93117
* Clean-up invalid git repositories in cache when fetching from git.
118+
* **Breaking change** [#36765](https://github.com/dart-lang/sdk/issues/36765):
119+
Packages published to [pub.dev](https://pub.dev) can no longer contain git
120+
dependencies. These packages will be rejected by the server.
94121

95122
#### Linter
96123

97-
The Linter was updated to `0.1.93`, which includes the following changes:
124+
The Linter was updated to `0.1.96`, which includes:
125+
126+
* fixed false positives in `unnecessary_parens`
127+
* various changes to migrate to preferred analyzer APIs
128+
* rule test fixes
129+
130+
#### Dartdoc
131+
132+
Dartdoc was updated to `0.28.4`; this version includes several fixes and is based
133+
on a newer version of the analyzer package.
134+
135+
## 2.4.1 - 2019-08-07
136+
137+
This is a patch release that fixes a performance regression in JIT mode, as
138+
well as a potential crash of our AOT compiler.
139+
140+
### Dart VM
141+
142+
* Fixed a performance regression where usage of `Int32List` could trigger
143+
repeated deoptimizations in JIT mode (Issue [37551][]).
144+
145+
* Fixed a bug where usage of a static getter with name `length` could cause a
146+
crash in our AOT compiler (Issue [35121][]).
98147

99-
* new lint: `avoid_print`
148+
[37551]: https://github.com/dart-lang/sdk/issues/37551
149+
[35121]: https://github.com/dart-lang/sdk/issues/35121
100150

101151
## 2.4.0 - 2019-06-27
102152

@@ -131,7 +181,7 @@ communication of `Uint8List` data.
131181
[33327]: https://github.com/dart-lang/sdk/issues/33327
132182
[35804]: https://github.com/dart-lang/sdk/issues/35804
133183

134-
* **Breaking change** [#36971](https://github.com/dart-lang/sdk/issues/36971):
184+
* [#36971](https://github.com/dart-lang/sdk/issues/36971):
135185
The `HttpClientResponse` interface has been extended with the addition of a
136186
new `compressionState` getter, which specifies whether the body of a
137187
response was compressed when it was received and whether it has been
@@ -140,19 +190,18 @@ communication of `Uint8List` data.
140190
As part of this change, a corresponding new enum was added to `dart:io`:
141191
`HttpClientResponseCompressionState`.
142192

143-
For those implementing the `HttpClientResponse`
144-
interface, this is a breaking change, as implementing classes will need to
145-
implement the new getter.
193+
This is a **breaking change** for those implementing the `HttpClientResponse`
194+
interface as subclasses will need to implement the new getter.
146195

147196
#### `dart:async`
148197

149-
* **Breaking change** [#36382](https://github.com/dart-lang/sdk/issues/36382):
198+
* **Breaking change** [#36382](https://github.com/dart-lang/sdk/issues/36382):
150199
The `await for` allowed `null` as a stream due to a bug
151200
in `StreamIterator` class. This bug has now been fixed.
152201

153202
#### `dart:core`
154203

155-
* **Breaking change** [#36171](https://github.com/dart-lang/sdk/issues/36171):
204+
* [#36171](https://github.com/dart-lang/sdk/issues/36171):
156205
The `RegExp` interface has been extended with two new
157206
constructor named parameters:
158207

@@ -171,8 +220,9 @@ communication of `Uint8List` data.
171220
* `String namedGroup(String name)`, a method that retrieves the match for
172221
the given named capture group
173222

174-
This change only affects implementers of the `RegExp` interface; current
175-
code using Dart regular expressions will not be affected.
223+
This is a **breaking change** for implementers of the `RegExp` interface.
224+
Subclasses will need to add the new properties and may have to update the
225+
return types on overridden methods.
176226

177227
### Language
178228

0 commit comments

Comments
 (0)