fix(sdk): update dependency dart to v3.10.9#787
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Conversation
8e3e97a to
1ad96b6
Compare
23b6b70 to
1599107
Compare
3e969be to
061363f
Compare
6749f31 to
a3aa1c2
Compare
25a8d94 to
913a627
Compare
913a627 to
b25fb7a
Compare
a917964 to
9fc3bee
Compare
314d967 to
a6cb055
Compare
f9d04b0 to
e1de85a
Compare
e1de85a to
a616145
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.9.2 <4.0.0→3.10.9Release Notes
dart-lang/sdk (dart)
v3.10.9Compare Source
v3.10.8Compare Source
Released on: 2026-01-27
This is a patch release that:
shorthands. (issue dart-lang/sdk#62416)
v3.10.7Compare Source
Released on: 2025-12-23
This is a patch release that:
v3.10.6Compare Source
Released on: 2025-12-16
This is a patch release that:
sublist()implementation on dart2wasm backend.(issue flutter/flutter#179853)
v3.10.5Compare Source
Released on: 2025-12-16
This is a patch release that:
"deprecated functionality" annotations, like
@Deprecated.implement. Thisfix directs IDEs to not display such elements (like the
RegExpclass) asfully deprecated (for example, with struck-through text). (issue
dart-lang/sdk#62013)
dart-lang/sdk#62168)
!=operator. (issuedart-lang/sdk#62216)
v3.10.4Compare Source
Released on: 2025-12-09
This is a patch release that:
dart runnot working and simply exiting withProcess::Exec - (null)under GitBash on Windows.(issue dart-lang/sdk#61981)
v3.10.3Compare Source
Released on: 2025-12-02
This is a patch release that:
Dart-Code/Dart-Code#61978)
Running build hooksindart runwith--verbosity=error.(issue dart-lang/sdk#61996)
(issue dart-lang/tools#2237)
after a recompilation (issue flutter/flutter#178740).
shorthand with type arguments on a factory constructor in an abstract class.
(issue dart-lang/sdk#61978)
v3.10.2Compare Source
Released on: 2025-11-25
This is a patch release that:
invocation, as well as an issue with renaming dot shorthands.
(issue dart-lang/sdk#61969)
statements that contain int cases and a null case.
(issue dart-lang/sdk#62022)
constructor invocations.
(issue dart-lang/sdk#62036)
v3.10.1Compare Source
Released on: 2025-11-18
This is a patch release that:
==operator,FutureOrtypes, switch expressions, and switch statements.(issue dart-lang/sdk#61872).
instance method with a dot shorthand. (issue dart-lang/sdk#61954).
ExitDetectorin the analyzer missing a few visitormethods for dot shorthand AST nodes. (issue dart-lang/sdk#61963)
prefer_const_constructorslint was enabled (issue dart-lang/sdk#61953).@Deprecated.extend()and the other new deprecated annotations.v3.10.0Compare Source
Released on: 2025-11-12
Language
Dart 3.10 adds dot shorthands to the language. To use
them, set your package's [SDK constraint][language version] lower bound to 3.10
or greater (
sdk: '^3.10.0').Dart 3.10 also adjusts the inferred return type of a generator function (
sync*or
async*) to avoid introducing unneeded nullability.Dot shorthands
Dot shorthands allow you to omit the type name when accessing a static member
in a context where that type is expected.
These are some examples of ways you can use dot shorthands:
To learn more about the feature, check out the
feature specification.
Eliminate spurious Null from generator return type
The following local function
fused to have return typeIterable<int?>.The question mark in this type is spurious because the returned iterable
will never contain null (
return;stops the iteration, it does not add nullto the iterable). This feature makes the return type
Iterable<int>.This change may cause some code elements to be flagged as unnecessary. For
example,
f().first?.isEvenis flagged, andf().first.isEvenis recommendedinstead.
Tools
Analyzer
The analyzer includes a new plugin system. You can use this system to write
your own analysis rules and IDE quick fixes.
or warnings). You see these in your IDE and at the command line via
dart analyzeorflutter analyze.warning.
associated with a specific diagnostic.
See the documentation for writing an analyzer plugin, and the
documentation for using analyzer plugins to learn more.
Lint rules which are incompatible with each other and which are specified in
included analysis options files are now reported.
Offer to add required named field formal parameters in a constructor when a
field is not initialized.
Support the new
@Deprecatedannotations by reporting warnings when specificfunctionality of an element is deprecated.
Offer to import a library for an appropriate extension member when method or
property is accessed on a nullable value.
Offer to remove the
constkeyword for a constructor call which includes amethod invocation.
Remove support for the deprecated
@requiredannotation.Add two assists to bind constructor parameters to an existing or a
non-existing field.
Add a warning which is reported when an
@experimentalmember is usedoutside of the package in which it is declared.
Add a new lint rule,
remove_deprecations_in_breaking_versions, is added toencourage developers to remove any deprecated members when the containing
package has a "breaking version" number, like
x.0.0or0.y.0.(Thanks @FMorschel for many of the above
enhancements!)
Hooks
Support for hooks -- formerly know as native assets -- are now stable.
You can currently use hooks to do things such as compile or download native assets
(code written in other languages that are compiled into machine code),
and then call these assets from the Dart code of a package.
For more details see the hooks documentation.
Dart CLI and Dart VM
The Dart CLI and Dart VM have been split into two separate executables.
The Dart CLI tool has been split out of the VM into it's own embedder which
runs in AOT mode. The pure Dart VM executable is called
dartvmandhas no Dart CLI functionality in it.
The Dart CLI executable parses the CLI commands and invokes the rest
of the AOT tools in the same process, for the 'run' and 'test'
commands it execs a process which runs
dartvm.dart hello.dartexecs thedartvmprocess and runs thehello.dartfile.The Dart CLI is not generated for ia32 as we are not shipping a
Dart SDK for ia32 anymore (support to execute the
dartvmfor ia32architecture is retained).
Libraries
dart:asyncFuture.syncValueconstructor for creating a future with aknown value. Unlike
Future.value, it does not allow an asynchronousFuture<T>as the value of a newFuture<T>.dart:coreUri.parseIPv4Addressfunctionno longer incorrectly allows leading zeros. This also applies to
Uri.parseIPv6Addressfor IPv4 addresses embedded in IPv6 addresses.Uri.parseIPv4Addressaddsstartandendparametersto allow parsing a substring without creating a new string.
@Deprecated.extend()indicates the ability to extend a class isdeprecated.
@Deprecated.implement()indicates the ability to implement a class ormixin is deprecated.
@Deprecated.subclass()indicates the ability to extend a class orimplement a class or mixin is deprecated.
@Deprecated.mixin()indicates the ability to mix in a class isdeprecated.
@Deprecated.instantiate()indicates the ability to instantiate aclass is deprecated.
deprecated.
dart:ioIOOverridesas anabstract baseclass so it can no longer be implemented.
exit(...)toIOOverrides.dart:js_interopJSArray.addis added to avoid cases where during migration fromListtoJSArray,JSAnyOperatorExtension.addis accidentally used. See #59830for more details.
isA<JSBoxedDartObject>now checks that the value was the result of atoJSBoxoperation instead of returning true for all objects.@JS()annotation can now be used to change the name of keys in JavaScript. See
#55138 for more details.
Function.toJSnow apply totoJSCaptureThisaswell. Specifically, the function should be a statically known type, cannot
contain invalid types in its signature, cannot have any type parameters, and
cannot have any named parameters.
original typed array when unwrapped instead of instantiating a new typed array
with the same buffer. This applies to both the
.toJSconversions andjsify. See #61543 for more details.Uint16ListToJSInt16Arrayis renamed toUint16ListToJSUint16Array.JSUint16ArrayToInt16Listis renamed toJSUint16ArrayToUint16List.dartifynow converts JavaScriptPromisesto Dart
Futures rather thanJSValues, consistent with dart2js and DDC. See#54573 for more details.
createJSInteropWrappernow additionally takes an optional parameter whichspecifies the JavaScript prototype of the created object, similar to
createStaticInteropMockindart:js_util. See #61567 for more details.dart:js_utildart:js_utiland will throw anUnsupportedErrorif any API from this library is invoked. This also appliesto
package:js/js_util.dart.package:js/js.dartcontinues to be supported.See #61550 for more details.
v3.9.4Compare Source
Released on: 2025-09-30
Pub
dart pub get --examplewill now resolveexample/folders in theentire workspace, not only in the root package.
This fixes dart-lang/pub#4674 that made
flutter pub getcrash if the examples had not been resolved before resolving the workspace.
v3.9.3Compare Source
Released on: 2025-09-09
Tools
Development JavaScript compiler (DDC)
static calls are deeply nested within a closure.
When present this led to builds timing out or
taking several minutes rather than several seconds.
Configuration
📅 Schedule: Branch creation - "after 6pm every weekday,every weekend" in timezone Australia/Sydney, Automerge - "after 6pm every weekday,every weekend" in timezone Australia/Sydney.
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.