Skip to content

Commit

Permalink
Version 3.2.0-210.1.beta
Browse files Browse the repository at this point in the history
Merge 3.2.0-210.0.dev into beta
  • Loading branch information
Dart CI committed Oct 2, 2023
2 parents 93ad4c5 + 077d768 commit 5c23602
Show file tree
Hide file tree
Showing 3,719 changed files with 76,600 additions and 46,598 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 2 additions & 2 deletions .github/workflows/scorecards-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:

steps:
- name: "Checkout code"
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
with:
persist-credentials: false

Expand All @@ -43,7 +43,7 @@ jobs:

# Upload the results as artifacts (optional).
- name: "Upload artifact"
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32
with:
name: SARIF file
path: results.sarif
Expand Down
29 changes: 24 additions & 5 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,6 @@ group("dartanalyzer") {
deps = [ "utils/dartanalyzer" ]
}

# TODO(nshahan): Delete after updating the Flutter engine build.
group("dartdevc") {
deps = [ "utils/dartdevc:dartdevc_files_stamp" ]
}

group("ddc") {
deps = [ "utils/ddc:dartdevc" ]
}
Expand Down Expand Up @@ -279,4 +274,28 @@ if (is_fuchsia) {
package_name = "dart_ffi_test"
deps = [ ":fuchsia_ffi_test_component" ]
}

# TODO(38752): Remove "cfv2" once everything is migrated to CFv2.
dart_fuchsia_test_component("fuchsia_ffi_test_component_cfv2") {
manifest = "build/fuchsia/fuchsia_ffi_test_component.cml"
data_deps = [
"runtime/bin:ffi_test_dynamic_library",
"runtime/bin:ffi_test_functions",
]
library_files = [
"libffi_test_dynamic_library.so",
"libffi_test_functions.so",
]
resource_dirs = [
"pkg/expect",
"pkg/meta",
"tests/ffi",
"third_party/pkg/ffi",
]
}

dart_fuchsia_test_package("fuchsia_ffi_test_package_cfv2") {
package_name = "dart_ffi_test_cfv2"
deps = [ ":fuchsia_ffi_test_component_cfv2" ]
}
}
104 changes: 100 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,11 @@ constraint][language version] lower bound to 3.2 or greater (`sdk: '^3.2.0'`).
other unrelated class in the library (because a class elsewhere in the
program might extend one of the classes and implement the other, creating an
override relationship between them).
- If it is implicitly overridden by an instance of `noSuchMethod` elsewhere in
the library.
- If there is a concrete class `C` in the library whose interface contains a
getter with the same name, but `C` does not have an implementation of that
getter (such unimplemented getters aren't safe for field promotion, because
they are implicitly forwarded to `noSuchMethod`, which might not return the
same value each time it's called).

- **Breaking Change** [#53167][]: Use a more precise split point for refutable
patterns. Previously, in an if-case statement, if flow analysis could prove
Expand All @@ -68,6 +71,16 @@ constraint][language version] lower bound to 3.2 or greater (`sdk: '^3.2.0'`).

- Added `broadcast` parameter to `Stream.empty` constructor.

#### `dart:cli`

- **Breaking change** [#52121][]:
- `waitFor` is disabled by default and slated for removal in 3.4. Attempting
to call this function will now throw an exception. Users that still depend
on `waitFor` can enable it by passing `--enable_deprecated_wait_for` flag
to the VM.

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

#### `dart:convert`

- **Breaking change** [#52801][]:
Expand All @@ -82,21 +95,40 @@ constraint][language version] lower bound to 3.2 or greater (`sdk: '^3.2.0'`).
- Added `getIsolateId` method to `Service`.
- Added `getObjectId` method to `Service`.

#### `dart:ffi`

- Added the `NativeCallable.isolateLocal` constructor. This creates
`NativeCallable`s with the same functionality as `Pointer.fromFunction`,
except that `NativeCallable` accepts closures.
- Added the `NativeCallable.keepIsolateAlive` method, which determines whether
the `NativeCallable` keeps the isolate that created it alive.
- All `NativeCallable` constructors can now accept closures. Previously
`NativeCallable`s had the same restrictions as `Pointer.fromFunction`, and
could only create callbacks for static functions.
- **Breaking change** [#53311][]: `NativeCallable.nativeFunction` now throws an
error if is called after the `NativeCallable` has already been `close`d. Calls
to `close` after the first are now ignored.

#### `dart:io`

- **Breaking change** [#53005][]: The headers returned by
`HttpClientResponse.headers` and `HttpRequest.headers` no longer include
trailing whitespace in their values.

- **Breaking change** [#53227][]: Folded headers values returned by
`HttpClientResponse.headers` and `HttpRequest.headers` now have a space
inserted at the fold point.

[#53005]: https://dartbug.com/53005
[#53227]: https://dartbug.com/53227

#### `dart:isolate`

- Added `Isolate.packageConfigSync` and `Isolate.resolvePackageUriSync` APIs.

#### `dart:js_interop`

- **JSNumber.toDart and Object.toJS**:
- **Breaking Change on JSNumber.toDart and Object.toJS**:
`JSNumber.toDart` is removed in favor of `toDartDouble` and `toDartInt` to
make the type explicit. `Object.toJS` is also removed in favor of
`Object.toJSBox`. Previously, this function would allow Dart objects to flow
Expand Down Expand Up @@ -128,6 +160,24 @@ constraint][language version] lower bound to 3.2 or greater (`sdk: '^3.2.0'`).
number of cases, like when using older browser versions. `dart:js_interop`'s
`globalJSObject` is also renamed to `globalContext` and returns the global
context used in the lowerings.
- **Breaking Change on Types of `dart:js_interop` External APIs**:
External JS interop APIs when using `dart:js_interop` are restricted to a set
of allowed types. Namely, this include the primitive types like `String`, JS
types from `dart:js_interop`, and other static interop types (either through
`@staticInterop` or extension types).
- **Breaking Change on `dart:js_interop` `isNull` and `isUndefined`**:
`null` and `undefined` can only be discerned in the JS backends. dart2wasm
conflates the two values and treats them both as Dart null. Therefore, these
two helper methods should not be used on dart2wasm and will throw to avoid
potentially erroneous code.
- **Breaking Change on `dart:js_interop` `typeofEquals` and `instanceof`**:
Both APIs now return a `bool` instead of a `JSBoolean`. `typeofEquals` also
now takes in a `String` instead of a `JSString`.
- **Breaking Change on `dart:js_interop` `JSAny` and `JSObject`**:
These types can only be implemented, and no longer extended, by user
`@staticInterop` types.
- **Breaking Change on `dart:js_interop` `JSArray.withLength`**:
This API now takes in an `int` instead of `JSNumber`.

### Tools

Expand Down Expand Up @@ -157,6 +207,13 @@ constraint][language version] lower bound to 3.2 or greater (`sdk: '^3.2.0'`).

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

#### Dart format

- Always split enum declarations containing a line comment.
- Fix regression in splitting type annotations with library prefixes.
- Support `--enable-experiment` command-line option to enable language
experiments.

#### Pub

- New option `dart pub upgrade --tighten` which will update dependencies' lower
Expand All @@ -165,7 +222,38 @@ constraint][language version] lower bound to 3.2 or greater (`sdk: '^3.2.0'`).
changed between direct, dev and transitive dependency.
- The command `dart pub upgrade` no longer shows unchanged dependencies.

## 3.1.0
## 3.1.2 - 2023-09-13

This is a patch release that:

- Fixes a bug in dart2js which crashed the compiler when a typed record pattern
was used outside the scope of a function body, such as in a field initializer.
For example `final x = { for (var (int a,) in someList) a: a };`
(issue [#53449])

- Fixes an expedient issue of users seeing an unhandled
exception pause in the debugger, please see
https://github.com/dart-lang/sdk/issues/53450 for more
details.
The fix uses try/catch in lookupAddresses instead of
Future error so that we don't see an unhandled exception
pause in the debugger (issue [#53450])

[#53449]: https://github.com/dart-lang/sdk/issues/53449
[#53450]: https://github.com/dart-lang/sdk/issues/53450

## 3.1.1 - 2023-09-07

This is a patch release that:

- Fixes a bug in the parser which prevented a record pattern from containing a
nested record pattern, where the nested record pattern uses record
destructuring shorthand syntax, for example `final ((:a, :b), c) = record;`
(issue [#53352]).

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

## 3.1.0 - 2023-08-16

### Libraries

Expand All @@ -186,6 +274,14 @@ constraint][language version] lower bound to 3.2 or greater (`sdk: '^3.2.0'`).

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

#### `dart:ffi`

- Added the `NativeCallable` class, which can be used to create callbacks that
allow native code to call into Dart code from any thread. See
`NativeCallable.listener`. In future releases, `NativeCallable` will be
updated with more functionality, and will become the recommended way of
creating native callbacks for all use cases, replacing `Pointer.fromFunction`.

#### `dart:io`

- **Breaking change** [#51486][]:
Expand Down
Loading

0 comments on commit 5c23602

Please sign in to comment.