Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 14, 2025

This PR contains the following updates:

Package Update Change
dart (source) minor >=3.9.2 <4.0.0 -> 3.10.7

Release Notes

dart-lang/sdk (dart)

v3.10.7

Compare Source

v3.10.6

Compare Source

v3.10.5

Compare Source

v3.10.4

Compare Source

v3.10.3

Compare Source

v3.10.2

Compare Source

v3.10.1

Compare Source

v3.10.0

Compare 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:

Color color = .blue;
switch (color) {
  case .blue:
    print('blue');
  case .red:
    print('red');
  case .green:
    print('green');
}
Column(
  crossAxisAlignment: .start,
  mainAxisSize: .min,
  children: widgets,
)

To learn more about the feature, check out the
feature specification.

Eliminate spurious Null from generator return type

The following local function f used to have return type Iterable<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 null
to the iterable). This feature makes the return type Iterable<int>.

void main() {
  f() sync* {
    yield 1;
    return;
  }
}

This change may cause some code elements to be flagged as unnecessary. For
example, f().first?.isEven is flagged, and f().first.isEven is recommended
instead.

Tools
Analyzer
  • The analyzer includes a new plugin system. You can use this system to write
    your own analysis rules and IDE quick fixes.

    • Analysis rules: Static analysis checks that report diagnostics (lints
      or warnings). You see these in your IDE and at the command line via dart analyze or flutter analyze.
    • Quick fixes: Local refactorings that correct a reported lint or
      warning.
    • Quick assists: Local refactorings available in the IDE that are not
      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 @Deprecated annotations by reporting warnings when specific
    functionality 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 const keyword for a constructor call which includes a
    method invocation.

  • Remove support for the deprecated @required annotation.

  • Add two assists to bind constructor parameters to an existing or a
    non-existing field.

  • Add a warning which is reported when an @experimental member is used
    outside of the package in which it is declared.

  • Add a new lint rule, remove_deprecations_in_breaking_versions, is added to
    encourage developers to remove any deprecated members when the containing
    package has a "breaking version" number, like x.0.0 or 0.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 dartvm and
    has 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.dart execs the dartvm process and runs the hello.dart file.

    The Dart CLI is not generated for ia32 as we are not shipping a
    Dart SDK for ia32 anymore (support to execute the dartvm for ia32
    architecture is retained).

Libraries
dart:async
  • Added Future.syncValue constructor for creating a future with a
    known value. Unlike Future.value, it does not allow an asynchronous
    Future<T> as the value of a new Future<T>.
dart:core
  • Breaking Change #​61392: The Uri.parseIPv4Address function
    no longer incorrectly allows leading zeros. This also applies to
    Uri.parseIPv6Address for IPv4 addresses embedded in IPv6 addresses.
  • The Uri.parseIPv4Address adds start and end parameters
    to allow parsing a substring without creating a new string.
  • New annotations are offered for deprecating specific functionalities:
  • The ability to implement the RegExp class and the RegExpMatch class is
    deprecated.
dart:io
  • Breaking Change #​56468: Marked IOOverrides as an abstract base
    class so it can no longer be implemented.
  • Added ability to override behavior of exit(...) to IOOverrides.
dart:js_interop
  • JSArray.add is added to avoid cases where during migration from List to
    JSArray, JSAnyOperatorExtension.add is accidentally used. See #​59830
    for more details.
  • isA<JSBoxedDartObject> now checks that the value was the result of a
    toJSBox operation instead of returning true for all objects.
  • For object literals created from extension type factories, the @JS()
    annotation can now be used to change the name of keys in JavaScript. See
    #​55138 for more details.
  • Compile-time checks for Function.toJS now apply to toJSCaptureThis as
    well. 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.
  • On dart2wasm, typed lists that are wrappers around typed arrays now return the
    original typed array when unwrapped instead of instantiating a new typed array
    with the same buffer. This applies to both the .toJS conversions and
    jsify. See #​61543 for more details.
  • Uint16ListToJSInt16Array is renamed to Uint16ListToJSUint16Array.
  • JSUint16ArrayToInt16List is renamed to JSUint16ArrayToUint16List.
  • The dart2wasm implementation of dartify now converts JavaScript Promises
    to Dart Futures rather than JSValues, consistent with dart2js and DDC. See
    #​54573 for more details.
  • createJSInteropWrapper now additionally takes an optional parameter which
    specifies the JavaScript prototype of the created object, similar to
    createStaticInteropMock in dart:js_util. See #​61567 for more details.
dart:js_util
  • dart2wasm no longer supports dart:js_util and will throw an
    UnsupportedError if any API from this library is invoked. This also applies
    to package:js/js_util.dart. package:js/js.dart continues to be supported.
    See #​61550 for more details.

v3.9.4

Compare Source

Released on: 2025-09-30

Pub
  • dart pub get --example will now resolve example/ folders in the
    entire workspace, not only in the root package.
    This fixes dart-lang/pub#4674 that made flutter pub get
    crash if the examples had not been resolved before resolving the workspace.

v3.9.3

Compare Source

Released on: 2025-09-09

Tools
Development JavaScript compiler (DDC)
  • Fixes a pattern that could lead to exponentially slow compile times when
    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: 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot enabled auto-merge (squash) November 14, 2025 18:49
@renovate renovate bot force-pushed the renovate/dart-minor-patch-version branch 2 times, most recently from 8e3e97a to 1ad96b6 Compare November 18, 2025 14:49
@renovate renovate bot changed the title fix(sdk): update dependency dart to v3.10.0 fix(sdk): update dependency dart to v3.10.1 Nov 19, 2025
@renovate renovate bot force-pushed the renovate/dart-minor-patch-version branch 5 times, most recently from 23b6b70 to 1599107 Compare November 24, 2025 13:50
@renovate renovate bot changed the title fix(sdk): update dependency dart to v3.10.1 fix(sdk): update dependency dart to v3.10.2 Nov 25, 2025
@renovate renovate bot force-pushed the renovate/dart-minor-patch-version branch 5 times, most recently from 3e969be to 061363f Compare November 30, 2025 18:41
@renovate renovate bot changed the title fix(sdk): update dependency dart to v3.10.2 fix(sdk): update dependency dart to v3.10.3 Dec 2, 2025
@renovate renovate bot force-pushed the renovate/dart-minor-patch-version branch 4 times, most recently from 6749f31 to a3aa1c2 Compare December 7, 2025 17:57
@renovate renovate bot changed the title fix(sdk): update dependency dart to v3.10.3 fix(sdk): update dependency dart to v3.10.4 Dec 9, 2025
@renovate renovate bot force-pushed the renovate/dart-minor-patch-version branch 4 times, most recently from 25a8d94 to 913a627 Compare December 14, 2025 02:46
@renovate renovate bot changed the title fix(sdk): update dependency dart to v3.10.4 fix(sdk): update dependency dart to v3.10.5 Dec 16, 2025
@renovate renovate bot force-pushed the renovate/dart-minor-patch-version branch from 913a627 to b25fb7a Compare December 16, 2025 09:15
@renovate renovate bot changed the title fix(sdk): update dependency dart to v3.10.5 fix(sdk): update dependency dart to v3.10.6 Dec 16, 2025
@renovate renovate bot force-pushed the renovate/dart-minor-patch-version branch 4 times, most recently from a917964 to 9fc3bee Compare December 23, 2025 09:56
@renovate renovate bot changed the title fix(sdk): update dependency dart to v3.10.6 fix(sdk): update dependency dart to v3.10.7 Dec 23, 2025
@renovate renovate bot force-pushed the renovate/dart-minor-patch-version branch from 9fc3bee to 314d967 Compare December 23, 2025 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants