Skip to content

Commit 9472ad9

Browse files
author
Dart CI
committed
Version 3.4.0-282.1.beta
Merge 3.4.0-282.0.dev into beta
2 parents 716033f + bb65648 commit 9472ad9

File tree

3,492 files changed

+114501
-67724
lines changed

Some content is hidden

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

3,492 files changed

+114501
-67724
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*.cpp text eol=lf
55
*.h text eol=lf
66
*.dart text eol=lf
7+
*.sh text eol=lf
78

89
# Explicitly declare text files we want to be normalized.
910
*.gyp text

.github/ISSUE_TEMPLATE/2_cherry_pick.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,25 @@ assignees:
88
- vsmenon
99
- itsjustkevin
1010
body:
11-
- type: input
11+
- type: textarea
1212
id: commit_hash
1313
attributes:
1414
label: Commit(s) to merge
15-
description: What are the commit hash(es) that have been merged to main?
15+
description: What are the changelist(s) that have been merged to main?
1616
validations:
1717
required: true
1818
- type: input
1919
id: target
2020
attributes:
2121
label: Target
22-
description: Should this be cherry-picked to beta, stable or both?
22+
description: Should the changes be cherry-picked to beta, stable, or both?
2323
validations:
2424
required: true
2525
- type: input
2626
id: changelist
2727
attributes:
2828
label: Prepared changelist for beta/stable
29-
description: Gerrit changelist against beta/stable per https://github.com/dart-lang/sdk/wiki/Cherry-picks-to-a-release-channel
29+
description: Gerrit changelist(s) against beta and/or stable per https://github.com/dart-lang/sdk/wiki/Cherry-picks-to-a-release-channel
3030
validations:
3131
required: true
3232
- type: textarea
@@ -50,15 +50,11 @@ body:
5050
description: Describe the reasons, impacted users and functional issues to explain why this should be cherry-picked.
5151
validations:
5252
required: true
53-
- type: dropdown
53+
- type: textarea
5454
id: risk
5555
attributes:
5656
label: Risk
5757
description: What is the risk level of this cherry-pick?
58-
options:
59-
- low
60-
- medium
61-
- high
6258
validations:
6359
required: true
6460
- type: input

.github/workflows/scorecards-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
steps:
2525
- name: "Checkout code"
26-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
26+
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
2727
with:
2828
persist-credentials: false
2929

.github/workflows/third-party-deps-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
contents: read
2222
steps:
2323
- name: "Checkout code"
24-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
24+
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
2525
with:
2626
persist-credentials: false
2727
- name: "setup python"

CHANGELOG.md

Lines changed: 85 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
### Language
44

5+
Dart 3.4 makes improvements to the type analysis of conditional expressions
6+
(`e1 ? e2 : e3`), if-null expressions (`e1 ?? e2`), if-null assignments
7+
(`e1 ??= e2`), and switch expressions (`switch (e) { p1 => e1, ... }`). To take
8+
advantage of these improvements, set your package's
9+
[SDK constraint][language version] lower bound to 3.4 or greater
10+
(`sdk: '^3.4.0'`).
11+
12+
[language version]: https://dart.dev/guides/language/evolution
13+
514
- **Breaking Change** [#54640][]: The pattern context type schema for
615
cast patterns has been changed from `Object?` to `_` (the unknown
716
type), to align with the specification. This change is not expected
@@ -19,6 +28,10 @@
1928

2029
### Libraries
2130

31+
#### `dart:cli`
32+
33+
- **Breaking change** [#52121][]: `waitFor` is removed in 3.4.
34+
2235
#### `dart:io`
2336

2437
- **Breaking change** [#53863][]: `Stdout` has a new field `lineTerminator`,
@@ -28,15 +41,56 @@
2841

2942
[#53863]: https://github.com/dart-lang/sdk/issues/53863
3043

44+
#### `dart:js_interop`
45+
46+
- Fixes an issue with several comparison operators in `JSAnyOperatorExtension`
47+
that were declared to return `JSBoolean` but really returned `bool`. This led
48+
to runtime errors when trying to use the return values. The implementation now
49+
returns a `JSBoolean` to align with the interface. See issue [#55024] for
50+
more details.
51+
- Added `ExternalDartReference` and related conversion functions
52+
`toExternalReference` and `toDartObject`. This is a faster alternative to
53+
`JSBoxedDartObject`, but with fewer safety guarantees and fewer
54+
interoperability capabilities. See [#55187] for more details.
55+
56+
[#55024]: https://github.com/dart-lang/sdk/issues/55024
57+
[#55187]: https://github.com/dart-lang/sdk/issues/55187
58+
3159
### Tools
3260

61+
#### Analyzer
62+
63+
- Improved code completion. Fixed over 50% of completion correctness bugs,
64+
tagged `analyzer-completion-correctness` in the [issue tracker][analyzer-completion-correction-issues].
65+
66+
[analyzer-completion-correction-issues]: https://github.com/dart-lang/sdk/labels/analyzer-completion-correctness
67+
68+
#### Compilers
69+
70+
- The compilation environment will no longer pretend to contain
71+
entries with value `""` for all `dart.library.foo` strings,
72+
where `dart:foo` is not an available library.
73+
Instead there will only be entries for the available libraries,
74+
like `dart.library.core`, where the value was, and still is, `"true"`.
75+
This should have no effect on `const bool.fromEnvironment(...)` or
76+
`const String.fromEnvironment(...)` without a `defaultValue`
77+
argument, an argument which was always ignored previously.
78+
It changes the behavior of `const bool.hasEnvironment(...)` on such
79+
an input, away from always being `true` and therefore useless.
80+
3381
#### Pub
3482

35-
- Dependency resolution will now surface if a dependency is affected by a
36-
security advisory, unless the advisory is listed under a
37-
`ignored_advisories` section in the `pubspec.yaml` file.
38-
To learn more about pub's support for security advisories,
39-
visit [dart.dev/go/pub-security-advisories][pub-security-advisories].
83+
- Dependency resolution and `dart pub outdated` will now surface if a dependency
84+
is affected by a security advisory, unless the advisory is listed under a
85+
`ignored_advisories` section in the `pubspec.yaml` file. To learn more about
86+
pub's support for security advisories, visit
87+
[dart.dev/go/pub-security-advisories][pub-security-advisories].
88+
- `path`-dependencies inside `git`-dependencies are now resolved relative to the git
89+
repo.
90+
- New command `dart pub unpack` that downloads a package from pub.dev and
91+
extracts it to a subfolder of the current directory.
92+
93+
This can be useful for inspecting the code, or playing with examples.
4094

4195
[pub-security-advisories]: https://dart.dev/go/pub-security-advisories
4296

@@ -89,6 +143,7 @@
89143
[#53785]: https://github.com/dart-lang/sdk/issues/53785
90144

91145
### Dart Runtime
146+
92147
- Dart VM flags and options can now be provided to any executable
93148
generated using `dart compile exe` via the `DART_VM_OPTIONS` environment
94149
variable. `DART_VM_OPTIONS` should be set to a list of comma-separated flags
@@ -102,6 +157,21 @@
102157
DART_VM_OPTIONS=--random_seed=42,--verbose_gc
103158
```
104159

160+
- Dart VM no longer supports external strings: `Dart_IsExternalString`,
161+
`Dart_NewExternalLatin1String` and `Dart_NewExternalUTF16String` functions are
162+
removed from Dart C API.
163+
164+
### Tools
165+
166+
#### DevTools
167+
168+
- Updated DevTools to version 2.33.0 from 2.31.1.
169+
To learn more, check out the release notes for versions
170+
[2.32.0][devtools-2-32-0] and [2.33.0][devtools-2-33-0].
171+
172+
[devtools-2-32-0]: https://docs.flutter.dev/tools/devtools/release-notes/release-notes-2.32.0
173+
[devtools-2-33-0]: https://docs.flutter.dev/tools/devtools/release-notes/release-notes-2.33.0
174+
105175
## 3.3.0
106176

107177
### Language
@@ -335,6 +405,16 @@ for each element.
335405

336406
[lints-3-0]: https://pub.dev/packages/lints/changelog#300
337407

408+
#### DevTools
409+
410+
- Updated DevTools to version 2.31.1 from 2.28.1.
411+
To learn more, check out the release notes for versions
412+
[2.29.0][devtools-2-29-0], [2.30.0][devtools-2-30-0],
413+
and [2.31.0][devtools-2-31-0].
414+
415+
[devtools-2-29-0]: https://docs.flutter.dev/tools/devtools/release-notes/release-notes-2.29.0
416+
[devtools-2-30-0]: https://docs.flutter.dev/tools/devtools/release-notes/release-notes-2.30.0
417+
[devtools-2-31-0]: https://docs.flutter.dev/tools/devtools/release-notes/release-notes-2.31.0
338418

339419
#### Wasm compiler (dart2wasm)
340420

0 commit comments

Comments
 (0)