Skip to content

fix(deps): update non-major dependencies#5

Open
renovate[bot] wants to merge 1 commit intodevelopfrom
renovate/non-major-dependencies
Open

fix(deps): update non-major dependencies#5
renovate[bot] wants to merge 1 commit intodevelopfrom
renovate/non-major-dependencies

Conversation

@renovate
Copy link

@renovate renovate bot commented Jul 20, 2024

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change
awesome_notifications (source) dependencies minor ^0.9.3+10.10.1
awesome_notifications_fcm dependencies minor ^0.9.3+10.10.1
custom_sliding_segmented_control dependencies patch 1.8.31.8.5
dart (source) minor 3.4.33.10.9
flutter_chat_ui (source) dependencies patch 1.6.141.6.15
flutter_floating_bottom_bar (source) dependencies minor 1.2.01.3.0
flutter_launcher_icons dependencies minor 0.13.10.14.4
flutter_native_splash dependencies patch 2.4.12.4.7
font_awesome_flutter dependencies minor 10.7.010.12.0
http (source) dependencies minor 1.2.21.6.0
image_picker (source) dependencies minor 1.1.21.2.1
permission_handler dependencies minor 11.3.111.4.0
persistent_bottom_nav_bar_v2 dependencies minor 5.3.05.4.0
syncfusion_flutter_charts (source) dependencies patch 26.2.826.2.14
syncfusion_flutter_datepicker (source) dependencies patch 26.2.826.2.14
syncfusion_flutter_pdfviewer (source) dependencies patch 26.2.826.2.14

Release Notes

rafaelsetragni/awesome_notifications (awesome_notifications)

v0.10.1

Compare Source

Fixed
  • Updated Android native library to fully support Flutter 3.27: Removed deprecated Flutter V1 libraries on Android, ensuring compatibility with Flutter 3.27.

v0.10.0

Compare Source

Added
  • Support to AGP 8: Added new proguard rules to allow SQLite database, used to capture notification events and schedules, to work with AGP 8.
  • Example app updated to support Flutter 3.19: The flutter example was updated to fully support Flutter 3.24 with new Gradle Java Standards.
  • Firebase dependencies updated: All Firebase dependencies was updated to support Firebase core 3.0.0.
  • Intervals changed to Duration type: The inteval value was changed from int (sec) to Duration, allowing a better understanding of time reading the code.
  • Documentation Updated: Documentation updated to also include AndroidManifest instructions to recreate schedules when the device is restarted.
Fixed
  • MediaPlayer Album Art Resolution Fix: Addressed an issue where album art was displaying at reduced resolution on Android 14 devices. Album artwork now renders clearly and crisply, improving the visual quality of the media player.
Removals
  • Gson Library Removal: Removed the Gson library due to compatibility issues with Android's latest releases and the R8 minification process. Transitioned to a more robust serialization framework that better supports obfuscation and modern Android versions.
Breaking changes
  • Minimal supported Android version increased to 23: The minimal android supported is now 23 (Android 6), since some encryption and security features rely on this minimal version.
  • Minimum iOS Deployment Target Increased to 12: The minimum iOS deployment target has been increased to iOS 12 to leverage newer API capabilities and enhance app security and performance.
  • Necessity to Manually Add Permissions in AndroidManifest.xml: Projects will now need to manually declare the following permissions in their AndroidManifest.xml in case needed:
    • android.permission.VIBRATE
    • android.permission.SCHEDULE_EXACT_ALARM
    • android.permission.USE_FULL_SCREEN_INTENT
    • android.permission.WAKE_LOCK
    • android.permission.FOREGROUND_SERVICE
    • android.permission.RECEIVE_BOOT_COMPLETED
Deprecated
  • weekOfMonth parameter is deprecated and scheduled for removal in a future release due to unimplemented dependencies expected in versions beyond 1.0.0. It may be reconsidered for inclusion in later versions.
rafaelsetragni/awesome_notifications_fcm (awesome_notifications_fcm)

v0.10.1

Fixed
  • Updated Android native library to fully support Flutter 3.27: Removed deprecated Flutter V1 libraries on Android, ensuring compatibility with Flutter 3.27.

v0.10.0

Compare Source

Breaking Changes
  • Pod Modifications: Installation of flutterfire_cli is now necessary to configure Firebase with the latest features, ensuring the project is up-to-date with Firebase best practices.
  • iOS Minimum Deployment Target Increased to 13: AUpdated the minimum deployment target for iOS to 13 to comply with the latest Firebase Core library restrictions.
  • Minimum Android SDK Increased to 23: Elevated to utilize modern Android capabilities and security features, aligning with best security resources for Android platform.
Improvements
  • Flutter 3.24.0 Compatibility: Fully supporting the latest Flutter 3.24.0, ensuring compatibility and optimal performance across all platforms.
Deprecations
  • Deprecation of sendPushNotification Method:
    • As part of our transition to modern messaging patterns, the sendPushNotification method has been marked as deprecated. This change follows Google's announcement to decommission FCM upstream messaging in June 2024.
    • Developers are now encouraged to implement a REST API on their server to handle communication from devices and use the Firebase Admin SDK to send notifications.
    • The deprecated method now triggers a NotImplementedError with a clear message and detailed Javadoc documentation to guide developers in migrating to the new approach. This method will be removed in version 1.0.0.
Enhancements
  • Dependencies Updated: All project dependencies have been upgraded to their latest versions, ensuring the most secure, stable, and efficient operation.
  • Refreshed Documentation: Comprehensive updates to our documentation make integrating and using Awesome Notifications clearer and more straightforward, enhancing developer experience and facilitating easier integration.
hadukin/custom_sliding_segmented_control (custom_sliding_segmented_control)

v1.8.5

Fix

  • Measure size
  • Dynamic change height

v1.8.4

Feat

  • BoxDecoration -> Decoration
dart-lang/sdk (dart)

v3.10.9

Compare Source

v3.10.8

Compare Source

Released on: 2026-01-27

This is a patch release that:

  • Removes code completion of private declarations in other libraries for dot
    shorthands. (issue dart-lang/sdk#62416)

v3.10.7

Compare Source

Released on: 2025-12-23

This is a patch release that:

v3.10.6

Compare Source

Released on: 2025-12-16

This is a patch release that:

v3.10.5

Compare Source

Released on: 2025-12-16

This is a patch release that:

  • Fixes several issues with elements that are deprecated with one of the new
    "deprecated functionality" annotations, like @Deprecated.implement. This
    fix directs IDEs to not display such elements (like the RegExp class) as
    fully deprecated (for example, with struck-through text). (issue
    dart-lang/sdk#62013)
  • Fixes code completion for dot shorthands in enum constant arguments. (issue
    dart-lang/sdk#62168)
  • Fixes code completion for dot shorthands and the != operator. (issue
    dart-lang/sdk#62216)

v3.10.4

Compare Source

Released on: 2025-12-09

This is a patch release that:

  • Fixes an issue with dart run not working and simply exiting with
    Process::Exec - (null) under GitBash on Windows.
    (issue dart-lang/sdk#61981)

v3.10.3

Compare Source

Released on: 2025-12-02

This is a patch release that:

  • Fixes an issue with the color picker not working with dot shorthands. (issue
    Dart-Code/Dart-Code#61978)
  • Enables hiding Running build hooks in dart run with --verbosity=error.
    (issue dart-lang/sdk#61996)
  • Fixes an issue with test_with_coverage and build hooks in dev depencencies.
    (issue dart-lang/tools#2237)
  • Fixes an issue where a crash could occur when evaluating expressions
    after a recompilation (issue flutter/flutter#178740).
  • Fixes watching of directory moves on MacOS dart-lang/sdk#62136.
  • Fixes an issue with the analyzer not emitting an error when using a dot
    shorthand with type arguments on a factory constructor in an abstract class.
    (issue dart-lang/sdk#61978)

v3.10.2

Compare Source

Released on: 2025-11-25

This is a patch release that:

  • Fixes an issue with code completion for argument lists in a dot shorthand
    invocation, as well as an issue with renaming dot shorthands.
    (issue dart-lang/sdk#61969)
  • Fixes an issue in dart2wasm that causes the compiler to crash for switch
    statements that contain int cases and a null case.
    (issue dart-lang/sdk#62022)
  • Fixes an issue with renaming fields/parameters on dot shorthand
    constructor invocations.
    (issue dart-lang/sdk#62036)

v3.10.1

Compare Source

Released on: 2025-11-18

This is a patch release that:

  • Fixes an issue with dot shorthand code completion for the == operator,
    FutureOr types, switch expressions, and switch statements.
    (issue dart-lang/sdk#61872).
  • Fixes an issue with the analyzer not reporting an error when invoking an
    instance method with a dot shorthand. (issue dart-lang/sdk#61954).
  • Fixes a crash with the ExitDetector in the analyzer missing a few visitor
    methods for dot shorthand AST nodes. (issue dart-lang/sdk#61963)
  • Fixes an analyzer crash that would sometimes occur when the
    prefer_const_constructors lint was enabled (issue dart-lang/sdk#61953).
  • Updates dartdoc dependency to dartdoc 9.0.0 which fixes dartdoc rendering of
    @Deprecated.extend() and the other new deprecated annotations.

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.

v3.9.2

Compare Source

Released on: 2025-08-27

Tools
Development JavaScript compiler (DDC)
  • Fixes an unintentional invocation of class static getters during a
    hot reload in a web development environment.
    This led to possible side effects being triggered early or
    crashes during the hot reload if the getter throws an exception.

v3.9.1

Compare Source

Released on: 2025-08-20

This is a patch release that:

  • Fixes an issue in DevTools causing assertion errors in the terminal after
    clicking 'Clear' on the Network Screen (issue dart-lang/sdk#61187).
  • Fixes miscompilation to ARM32 when an app used
    a large amount of literals (issue flutter/flutter#172626).
  • Fixes an issue with git dependencies using tag_pattern,
    where the pubspec.lock file would not be stable when
    running dart pub get (issue dart-lang/pub#4644).

v3.9.0

Compare Source

Released on: 2025-08-13

Language

Dart 3.9 assumes null safety when computing type promotion, reachability, and
definite assignment. This makes these features produce more accurate results for
modern Dart programs. As a result of this change, more dead_code warnings may be
produced. To take advantage of these improvements, set your package's SDK
constraint
lower bound to 3.9 or greater (sdk: '^3.9.0').

Tools
Analyzer
  • The dart command-line tool commands that use the analysis server now run
    the AOT-compiled analysis server snapshot. These include dart analyze,
    dart fix, and dart language-server.

    There is no functional difference when using the AOT-compiled analysis server
    snapshot. But various tests indicate that there is a significant speedup in
    the time to analyze a project.

    In case of an incompatibility with the AOT-compiled snapshot, a
    --no-use-aot-snapshot flag may be passed to these commands. (Please file an
    issue with the appropriate project if you find that you need to use this
    flag! It will be removed in the future.) This flag directs the tool to revert
    to the old behavior, using the JIT-compiled analysis server snapshot. To
    direct the Dart Code plugin for VS Code to pass this flag, use the
    dart.analyzerAdditionalArgs setting. To direct the Dart
    IntelliJ plugin to pass this flag, use the dart.server.additional.arguments
    registry property, similar to these steps.

  • Add the switch_on_type lint rule.

  • Add the unnecessary_unawaited lint rule.

  • Support a new annotation, @awaitNotRequired, which is used by the
    discarded_futures and unawaited_futures lint rules.

  • Improve the avoid_types_as_parameter_names lint rule to include type
    parameters.

  • The definition of an "obvious type" is expanded for the relevant lint rules,
    to include the type of a parameter.

  • Many small improvements to the discarded_futures and unawaited_futures
    lint rules.

  • The code that calculates fixes and assists has numerous performance
    improvements.

  • A new "Remove async" assist is available.

  • A new "Convert to normal parameter" assist is available for field formal
    parameters.

  • New fixes are available for the following diagnostics:

    • for_in_of_invalid_type
    • implicit_this_reference_in_initializer
    • prefer_foreach
    • undefined_operator
    • use_if_null_to_convert_nulls_to_bools
  • Numerous fixes and improvements are included in the "create method," "create
    getter," "create mixin," "add super constructor," and "replace final with
    var" fixes.

  • Dependencies listed in dependency_overrides in a pubspec.yaml file now
    have document links to pub.dev.

  • Improvements to type parameters and type arguments in the LSP type hierarchy.

  • Folding try/catch/finally blocks is now supported for LSP clients.

  • Improve code completion suggestions with regards to operators, extension
    members, named parameters, doc comments, patterns, collection if-elements and
    for-elements, and more.

  • Improve syntax highlighting of escape sequences in string literals.

  • Add "library cycle" information to the diagnostic pages.

  • (Thanks @​FMorschel for many of the above
    enhancements!)

Dart build
  • Breaking change of feature in preview: dart build -f exe <target> is now
    dart build cli --target=<target>. See dart build cli --help for more info.
Dart Development Compiler (dartdevc)
  • Outstanding async code now checks and cancels itself after a hot restart if
    it was started in a different generation of the application before the
    restart. This includes outstanding Futures created by calling
    JSPromise.toDart from thedart:js_interop and the underlying the
    dart:js_util helper promiseToFuture. Dart callbacks will not be run, but
    callbacks on the JavaScript side will still be executed.

  • Fixed a soundness issue that allowed direct invocation of the value returned
    from a getter without any runtime checks when the getter's return type was a
    generic type argument instantiated as dynamic or Function.

    A getter defined as:

    class Container<T> {
      T get value => _value;
      ...
    }

    Could trigger the issue with a direct invocation:

    Container<dynamic>().value('Invocation with missing runtime checks!');
Dart native compiler

Added cross-compilation support for
target architectures of arm (ARM32) and riscv64 (RV64GC)
when the target OS is Linux.

Pub
  • Git dependencies can now be version-solved based on git tags.

    Use a tag_pattern in the descriptor and a version constraint, and all
    commits matching the pattern will be considered during resolution. For
    example:

    dependencies:
      my_dependency:
        git:
          url: https://github.com/example/my_dependency
          tag_pattern: v{{version}}
        version: ^2.0.1
  • Starting from language version 3.9 the flutter constraint upper bound is now
    respected in your root package. For example:

    name: my_app
    environment:
      sdk: ^3.9.0
      flutter: 3.33.0

    Results in dart pub get failing if invoked with a version of
    the Flutter SDK different from 3.33.0.

    The upper bound of the flutter constraint is still ignored in
    packages used as dependencies.
    See flutter/flutter#95472 for details.

v3.8.3

Compare Source

Released on: 2025-07-31

This is a patch release that:

  • Fixes an issue with the DevTools Network screen and Hot Restart (issue flutter/devtools#9203)
  • Fixes an issue when clearing the DevTools network screen (issue #​61187)

v3.8.2

Compare Source

Released on: 2025-07-16

This is a patch release that:

  • Fixes an issue with the size of cross-compiled binaries (issue #​61097)

v3.8.1

Compare Source

Released on: 2025-05-28

This is a patch release that:

  • Fixes an issue in DDC with late variables being incorrectly captured within
    async function bodies (issue #​60748).

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.
Within map literals, both null-aware keys and values are supported.
Here is an example a list literal written in both styles,
without using null-aware elements and using them:

String? lunch = isTuesday ? 'tacos!' : null;

var withoutNullAwareElements = [
  if (lunch != null) lunch,
  if (lunch.length != null) lunch.length!,
  if (lunch.length case var length?) length,
];

var withNullAwareElements = [
  ?lunch,
  ?lunch.length,
  ?lunch.length,
];

To learn more about null-aware collection elements,
check out the documentation
and the feature specification.

Libraries
dart:core
  • Added Iterable.withIterator constructor.
dart:io
  • Added HttpClientBearerCredentials.
  • Updated Stdout.supportsAnsiEscapes and Stdin.supportsAnsiEscapes to
    return true for TERM containing tmux values.
dart:html
  • Breaking change: Native classes in dart:html, like HtmlElement, can no
    longer be extended. Long ago, to support custom elements, element classes
    exposed a .created constructor that adhered to the v0.5 spec of web
    components. 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
  • Added Array.elements which exposes an Iterable over the Array's content.
Tools
Analyzer
  • The analyzer now supports "doc imports," a new comment-based syntax which
    enables external elements to be referenced in documentation comments without
    actually importing them. See the
    documentation

    for details.
  • Code completion is improved to offer more valid suggestions. In particular,
    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.
  • Offer additional assist to wrap a Flutter widget with a FutureBuilder widget.
  • Add a quick assist to wrap with ValueListenableBuilder.
  • Add a quick fix to convert an (illegal) extension field declaration into a
    getter declaration.
  • Add a quick fix to help code comply with a few lint rules that encourage
    omitting types: omit_local_variable_types,
    omit_obvious_local_variable_types, and omit_obvious_property_types.
  • Add a quick fix to create an extension method to resolve an "undefined method
    invocation" error.
  • Renaming a closure parameter is now possible.
  • Renaming a field now adjusts implicit this references in order to avoid
    name collisions.
  • Renaming a field formal parameter now properly renames known super-parameters
    in subclasses in other libraries.
  • Renaming a method parameter now properly renames across the type hierarchy.
  • The "encapsulate field" quick assist now works on final fields.
  • The "inline method" refactoring now properly handles inner closures.
  • The quick fix that adds names to a show clause or removes names from a
    hide clause can now add or remove multiple names simultaneously, in order to
    resolve as many "undefined" errors as possible.
  • The "remove const" quick fix now operates on more types of code.
  • The "add missing required argument" quick fix can now add multiple missing
    required arguments.
  • Add a new warning that reports an import or export directive with multiple
    show or hide clauses, which are never necessary.
  • Add a quick fix for this warning.
  • Add LSP document links for lint rules in analysis options files.
  • Add LSP document links for dependency packages in pubspec files.
  • Fix various issues around patterns, like highlighting, navigation, and
    autocompletion.
  • Add the use_null_aware_elements lint rule.
  • Add the experimental unnecessary_ignore lint rule.
  • (Thanks @​FMorschel for many of the above
    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 support 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:

formatter:
  trailing_commas: preserve

This is similar to how trailing commas work in the old short style formatter
applied to code before language version 3.7.

Bug fixes
  • Don't add a trailing comma in lists that don't allow it, even when there is
    a trailing comment (issue dart-lang/dart_style#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 =>.

    // Before:
    function(
      name:
          (param) => another(
            argument1,
            argument2,
          ),
    );
    
    // After:
    function(
      name: (param) => another(
        argument1,
        argument3,
      ),
    );
  • Allow the target or property chain part of a split method chain on the RHS of
    =, :, and =>.

    // Before:
    variable =
        target.property
            .method()
            .another();
    
    // After:
    variable = target.property
        .method()
        .another();
  • Allow the condition part of a split conditional expression on the RHS of =,
    :, and =>.

    // Before:
    variable =
        condition
        ? longThenBranch
        : longElseBranch;
    
    // After:
    variable = condition
        ? longThenBranch
        : longElseBranch;
  • Don't indent conditional branches redundantly after =, :, and =>.

    // Before:
    function(
      argument:
          condition
              ? thenBranch
              : elseBranch,
    )
    
    // After:
    function(
      argument:
          condition
          ? thenBranch
          : elseBranch,
    )
  • Indent conditional branches past the operators.

    // Before:
    condition
        ? thenBranch +
            anotherOperand
        : elseBranch(
          argument,
        );
    
    // After:
    condition
        ? thenBranch +
              anotherOperand
        : elseBranch(
            argument,
          );
  • Block format record types in typedefs:

    // Before:
    typedef ExampleRecordTypedef =
        (
          String firstParameter,
          int secondParameter,
          String thirdParameter,
          String fourthParameter,
        );
    
    // After:
    typedef ExampleRecordTypedef = (
      String firstParameter,
      int secondParameter,
      String thirdParameter,
      String fourthParameter,
    );
  • 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.

    // Before:
    TabBar(tabs: [Tab(text: 'A'), Tab(text: 'B')], labelColor: Colors.white70);
    
    // After:
    TabBar(
      tabs: [
        Tab(text: 'A'),
        Tab(text: 'B'),
      ],
      labelColor: Colors.white70,
    );

v3.7.3

Compare Source

Released on: 2025-04-16

This is a patch release that:

  • Fixes a performance regression in the analysis server (issue #​60335).

v3.7.2

Compare Source

Released on: 2025-03-12

This is a patch release that:

  • Fixes a bug in dart2wasm that imports a js-string builtin function with a
    non-nullable parameter type where it must use a nullable one (issue #​59899).

v3.7.1

Compare Source

Released on: 2025-02-26

This is a patch release that:

  • Fixes a bug in the DevTools network profiler that was causing network
    traffic to be dropped (issue #​8888).
  • Fixes a bug in DDC that prevents code from compiling when it includes
    factory constructors containing generic local functions (issue #​160338).
  • Fixes a bug in the CFE that didn't correctly mark wildcard variables
    in formal parameters, causing the wildcard variables to appear in
    variable lists while debugging (issue #​60121).

v3.7.0

Compare Source

Released on: 2025-02-12

Language

Dart 3.7 adds wildcard variables and inference using
bounds
to the language. To use
them, set your package's [SDK constraint][language version] lower
bound to 3.7 or greater (sdk: '^3.7.0').

Wildcard variables

Local variables and parameters named _ are now non-binding and they can
be declared multiple times without collisions. You will no longer be able to use
these variables nor access their values. All wildcard variable declaration types
that have this behavior are described in the
wildcard variables specification.

Top-level variables, top-level function names, type names, member names, etc.
are unchanged. They can be named _ and used as they are today.

These are a few examples of where wildcard variables can be used:

Foo(_, this._, super._, void _()) {}

void main() {
  var _ = 1;
  int _ = 2;

  list.where((_) => true);
}
Inference using bounds

With the inference using bounds feature, Dart's type inference
algorithm generates constraints by combining existing constraints with
the declared type bounds, not just best-effort approximations.

This is especially important for F-bounded types, where inference
using bounds correctly infers that, in the example below, X can be
bound to B. Without the feature, the type argument must be specified
explicitly: f<B>(C()):

class A<X extends A<X>> {}

class B extends A<B> {}

class C extends B {}

void f<X extends A<X>>(X x) {}

void main() {
  f(B()); // OK.

  // OK with this feature. Without it, inference fails after detecting
  // that C is not a subtype of A<C>.
  f(C());

  f<B>(C()); // OK.
}

The feature is described in more details in the
inference using bounds specification.

Other language changes
  • Breaking Change #​56893: If a field is promoted to the type Null
    using is or as, this type promotion is now properly accounted for in
    reachability analysis. This makes the type system more self-consistent,
    because it mirrors the behavior of promoted local variables. This change is
    not expected to make any difference in practice.
Tools
Analyzer
  • Add a new 'Go to imports' command to find the import directives that export a
    declaration.
  • Assists and quick fixes that add an import now consider the
    prefer_relative_imports and always_use_package_imports lint rules.
  • Add a new fix that converts a ~/ operation into /, when the ~/
    operation is not available.
  • Add a fix that wraps an expression in await if the expression is currently
    not assignable, but awaiting it would make it assignable.
  • Assists and quick fixes that convert a forEach call into a for-loop now
    consider the prefer_final_in_for_each and always_specify_types lint
    rules.
  • Add an additional fix to correct a cascade_invocations lint rule violation.
  • Offer additional assists to wrap a Flutter widget with an Expanded widget,
    and with a Flexible widget.
  • Offer an assist to "inline" an else-block's inner if-statement with the
    else-block to read else if.
  • Add a fix to use_decorated_box by swapping the Container with
    ColoredBox as suggested by the lint.
  • Add an additional fix to import an unknown prefixed identifier by updating
    the show combinator on an existing import.
  • Add a fix to import an unknown prefixed identifier by adding an
    import directive with the given prefix.
  • Add a fix to import an unknown prefixed identifier by removing a hide
    combinator.
  • Add a fix to import an unknown identifier by adding an import directive with a
    show combinator, and optionally a prefix.
  • Code completion now suggests instance variables when completing inside the
    initializer of a late field.
  • Assists and quick fixes that add a const keyword now consider the
    prefer_const_declarations lint rule, preferring to add const to a variable
    declaration rather than the initial value.
  • Add a fix to add a missing on keyword in an extension declaration.
  • Add a fix to wrap an ambiguous property access or method call in an extension
    override.
    (Thanks @​FMorschel for the above enhancements!
  • The 'sort members' command now considers the sort_constructors_first lint
    rule.
  • The 'extract method' refactoring now uses generic method syntax for
    function-typed parameters.
  • Add quick fixes for more than 30 diagnostics.
  • Add the strict_top_level_inference lint rule.
  • Add the unnecessary_underscores lint rule.
  • Add the experimental specify_nonobvious_property_types lint rule.
  • Add the experimental omit_obvious_property_types lint rule.
  • Add the experimental unnecessary_async lint rule.
  • Add the experimental unsafe_variance lint rule.
  • Remove the package_api_docs lint rule.
  • Remove the unsafe_html lint rule.
Dart format

The formatter implements a new style better suited for the kind of
declarative code that many Dart users are writing today. The new style looks
similar to the style you get when you add trailing commas to argument lists,
except that now the formatter will add and remove those commas for you.

The dart format command uses the language version of
each input file to determine which style it gets. If the language version is 3.6
or lower, the code is formatted with the old style. If 3.7 or later, it gets the
new tall style.

You typically control the language version by setting a min SDK constraint in
your package's pubspec
. This means that when you update the SDK
constraint in your pubspec to move to 3.7, you are also opting in to the new
style.

In order to correctly determine the language version of each file it formats,
dart format (like other dart commands) looks for a package_config.json
file surrounding the files being formatted. This means that you need to run
dart pub get before formatting code in your package.
If you have format
checks in your continuous integration server, you'll want to make sure it runs
dart pub get too.

We don't intend to support both styles indefinitely. At some point in the
future when most of the ecosystem is on 3.7 or later, support for the old style
will be removed.

In addition to the new formatting style, a number of other changes are included,
some of them breaking:

  • Project-wide page width configuration. By long request, you can now
    configure your preferred formatting page width on a project-wide basis. When
    formatting a file, the formatter will look in the file's directory and any
    surrounding directories for an analysis_options.yaml file. If it finds one,
    it looks for YAML like so:

    formatter:
      page_width: 123

    If it finds a page width matching that schema, then the file is formatted
    using that width. Since the formatter will walk the surrounding directories
    until it finds an analysis_options.yaml file, this can be used to globally
    set the page width for an entire directory, package, or even collection of
    packages. Since analysis_options.yaml files already support an include
    key to reference other analysis_options.yaml files, you can define a single
    configuration and share it across a number of packages.

  • Opting out a region of code from formatting. In code formatted using the
    new style, you can use a pair of special marker comments to opt a region of
    code out of automated formatting:

    main() {
      this.isFormatted();
      // dart format off
      no   +   formatting
        +
          here;
      // dart format on
      formatting.isBackOnHere();
    }

    The comments must be exactly // dart format off and // dart format on.
    A file may have multiple regions, but they can't overlap or nest.

    This can be useful for highly structured data where custom layout helps the
    reader understand the data, like large lists of numbers.

  • Overriding the page width for a single file. In code formatted
    using the new tall style, you can use a special marker comment to control the
    page width that it's formatted using:

    // dart format width=30
    main() {
      someExpression +
          thatSplitsAt30;
    }

    This comment must appear before any code in the file and must match that
    format exactly. The width set by the comment overrides the width set by any
    surrounding analysis_options.yaml file.

    This feature is mainly for code generators that generate and immediately
    format code but don't know about any surrounding analysis_options.yaml
    that might be configuring the page width. By inserting


Configuration

📅 Schedule: Branch creation - Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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 force-pushed the renovate/non-major-dependencies branch 2 times, most recently from 264f50f to 445c525 Compare July 20, 2024 06:00
@falkia34 falkia34 force-pushed the develop branch 2 times, most recently from 7b3f3f0 to f429a8b Compare July 20, 2024 06:06
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 2 times, most recently from 552165c to 4e18ccd Compare July 20, 2024 06:11
@falkia34 falkia34 force-pushed the develop branch 2 times, most recently from fc711a6 to 54fa21a Compare July 20, 2024 06:23
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 4e18ccd to b1483dc Compare July 20, 2024 06:24
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from b1483dc to d3d5c16 Compare July 20, 2024 06:28
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from d3d5c16 to 27591cd Compare July 20, 2024 06:32
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 27591cd to 22fef5f Compare July 20, 2024 06:42
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 2 times, most recently from 0c8b7ee to d32a5c6 Compare July 20, 2024 15:59
@renovate renovate bot changed the title fix(deps): update dependency stroke_text to v0.0.3 fix(deps): update dependency stroke_text to v0.0.3 - autoclosed Jul 20, 2024
@renovate renovate bot closed this Jul 20, 2024
@renovate renovate bot deleted the renovate/non-major-dependencies branch July 20, 2024 16:29
@renovate renovate bot changed the title fix(deps): update dependency stroke_text to v0.0.3 - autoclosed fix(deps): update dependency stroke_text to v0.0.3 Jul 24, 2024
@renovate renovate bot reopened this Jul 24, 2024
@renovate renovate bot restored the renovate/non-major-dependencies branch July 24, 2024 12:01
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from d32a5c6 to e68f528 Compare July 24, 2024 17:01
@renovate renovate bot changed the title fix(deps): update dependency stroke_text to v0.0.3 fix(deps): update non-major dependencies to v26.2.4 Jul 24, 2024
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 3 times, most recently from 3ea6bf4 to 2bd2dc7 Compare July 26, 2024 14:06
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 50882a1 to e909aaa Compare May 28, 2025 12:39
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from e909aaa to dc1c452 Compare June 10, 2025 23:55
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from dc1c452 to 9097d88 Compare July 17, 2025 11:49
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 3 times, most recently from c1d13ac to f39c921 Compare August 8, 2025 01:09
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 3 times, most recently from e09c50f to 18479f4 Compare August 17, 2025 20:47
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 18479f4 to 9517619 Compare August 20, 2025 18:38
@renovate
Copy link
Author

renovate bot commented Aug 20, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: pubspec.lock
Command failed: flutter pub upgrade awesome_notifications awesome_notifications_fcm custom_sliding_segmented_control flutter_chat_ui flutter_floating_bottom_bar flutter_launcher_icons flutter_native_splash font_awesome_flutter http image_picker permission_handler persistent_bottom_nav_bar_v2 syncfusion_flutter_charts syncfusion_flutter_datepicker syncfusion_flutter_pdfviewer
The current Dart SDK version is 3.10.8.

Because walletwatch_mobile requires SDK version 3.10.9, version solving failed.
Failed to update packages.

@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 9517619 to 8d92130 Compare August 27, 2025 20:28
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 8d92130 to 05049e0 Compare September 9, 2025 21:44
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 05049e0 to b25cab9 Compare October 3, 2025 22:56
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 3 times, most recently from da27e1d to b9f0972 Compare October 22, 2025 20:43
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from b9f0972 to 21f2765 Compare October 27, 2025 12:02
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 3 times, most recently from 32ea292 to 202e0ed Compare November 12, 2025 17:58
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 2 times, most recently from 88e22e4 to 7eba928 Compare November 25, 2025 20:36
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 7eba928 to dc1bc3b Compare December 2, 2025 13:53
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch 2 times, most recently from a87bb48 to 9ce4c9c Compare December 16, 2025 13:09
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from 9ce4c9c to c09bde6 Compare December 23, 2025 13:52
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from c09bde6 to b388957 Compare January 27, 2026 09:44
@renovate renovate bot force-pushed the renovate/non-major-dependencies branch from b388957 to f6ee247 Compare February 3, 2026 13:45
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.

0 participants