chore(deps): update dependency dart to v3.8.0 #4889
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.7.3
->3.8.0
Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
dart-lang/sdk (dart)
v3.8.0
Compare Source
Released on: 2025-05-20
Language
Dart 3.8 adds null-aware elements to the language. To use them, set
your package's [SDK constraint][language version] lower bound to 3.8
or greater (
sdk: '^3.8.0'
).Null-Aware Elements
Null-aware elements make it easier to omit a value from a collection literal if
it's
null
. The syntax works in list literals, set literals, and map literals.For map literals, both null-aware keys and values are supported. Here is an
example a list literal written in both styles, without the null-aware elements
language feature and with it:
Full details are in the feature specification.
Libraries
dart:core
Iterable.withIterator
constructor.dart:io
HttpClientBearerCredentials
.Stdout.supportsAnsiEscapes
andStdin.supportsAnsiEscapes
toreturn
true
forTERM
containingtmux
values.dart:html
dart:html
, likeHtmlElement
, can nolonger be extended. Long ago, to support custom elements, element classes
exposed a
.created
constructor that adhered to the v0.5 spec of webcomponents. On this release, those constructors have been removed and with
that change, the classes can no longer be extended. In a future change, they
may be marked as interface classes as well. This is a follow up from an
earlier breaking change in 3.0.0 that removed the
registerElement
APIs. See#53264 for details.
dart:ffi
Array.elements
which exposes anIterable
over theArray
's content.Tools
Analyzer
enables external elements to be referenced in documentation comments without
actually importing them. See the
documentation
for details.
the suggestions are improved when completing text in a comment reference on a
documentation comment for an extension, a typedef, or a directive (an import,
an export, or a library). Additionally, instance members can now be suggested
in a documentation comment reference.
FutureBuilder
widget.ValueListenableBuilder
.getter declaration.
omitting types:
omit_local_variable_types
,omit_obvious_local_variable_types
, andomit_obvious_property_types
.invocation" error.
this
references in order to avoidname collisions.
in subclasses in other libraries.
show
clause or removes names from ahide
clause can now add or remove multiple names simultaneously, in order toresolve as many "undefined" errors as possible.
required arguments.
show
orhide
clauses, which are never necessary.autocompletion.
use_null_aware_elements
][use_null_aware_elements] lint rule.unnecessary_ignore
][unnecessary_ignore] lint rule.enhancements!)
Dart Development Compiler (dartdevc)
In order to align with dart2js semantics, DDC will now throw a runtime error
when a redirecting factory is torn off and one of its optional non-nullable
parameters is provided no value. The implicit null passed to the factory will
not match the non-nullable type and this will now throw.
In the future this will likely be a compile-time error and will be entirely
disallowed.
Dart to Javascript Compiler (dart2js)
Removed the
--experiment-new-rti
and--use-old-rti
flags.Dart Native Compiler
Added cross-compilation for the Linux x64 and Linux ARM64 target platforms.
Dart format
In 3.7.0, we released a largely rewritten formatter supporting a new
"tall" style. Since then, we've gotten a lot of feedback and bug
reports and made a number of fixes in response to that.
Features
Some users strongly prefer the old behavior where a trailing comma will be
preserved by the formatter and force the surrounding construct to split. That
behavior is supported again (but off by default) and can enabled by adding this
to a surrounding
analysis_options.yaml
file:This is similar to how trailing commas work in the old short style formatter
applied to code before language version 3.7.
Bug fixes
a trailing comment (#1639).
Style changes
The following style changes are language versioned and only affect code whose
language version is 3.8 or later. Dart code at 3.7 or earlier is formatted the
same as it was before.
Allow more code on the same line as a named argument or
=>
.Allow the target or property chain part of a split method chain on the RHS of
=
,:
, and=>
.Allow the condition part of a split conditional expression on the RHS of
=
,:
, and=>
.Don't indent conditional branches redundantly after
=
,:
, and=>
.Indent conditional branches past the operators.
Block format record types in typedefs:
Eagerly split argument lists whose contents are complex enough to be easier
to read spread across multiple lines even if they would otherwise fit on a
single line.
The heuristic is that the argument list must contain at least three named
arguments, some of which are nested and some of which are not.
Configuration
📅 Schedule: Branch creation - "after 4pm on friday,before 9am on monday,every weekend" in timezone Europe/Paris, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.