Update Jul 28, 2026 tracked by Updatify

3.0.0

If you see warnings about bindings

When migrating to Flutter 3, you might see warnings like the following:

Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.

These are caused by a simplification of the API (the instance property on bindings is now non-nullable), combined with an eager compiler that wants to report any case where redundant null-aware operators (such as ! and ?.) that are used when they’re not necessary.

If this happens, there might be several causes with different solutions:

Dependencies

If your dependencies use bindings, they might need updating to silence the warnings. Your builds should be unaffected except for the verbose warnings. You can ignore the warnings for now (maybe reach out to your dependency’s developers to convince them to update).

Your code

If the problem refers to your own code, you can update it by running dart fix --apply. This should resolve all the warnings.

If you need your code to support both Flutter 3 and earlier versions (maybe because your code is a library), then you can wrap calls to binding.instance with calls to a method such as the following:

/// This allows a value of type T or T?
/// to be treated as a value of type T?.
///
/// We use this so that APIs that have become
/// non-nullable can still be used with `!` and `?`
/// to support older versions of the API as well.
T? _ambiguate<T>(T? value) => value;

For example, instead of the following:

SchedulerBinding.instance!.addPostFrameCallback(...);

You can use:

_ambiguate(SchedulerBinding.instance)!.addPostFrameCallback(...);

When you no longer need to support versions of Flutter before 3.0.0, you can remove this and replace it with the following:

SchedulerBinding.instance.addPostFrameCallback(...);

Framework issues

If the error messages do not point to one of your dependencies, and dart fix --apply doesn’t fix the issue, or if the warnings are fatal (for example, your application refuses to run), please file a bug.

What’s Changed

The following changes happened in this release:

Framework

Tooling

MacOS

New Contributors

Thanks to the following contributors in this release:

Full Changelog: https://github.com/flutter/flutter/compare/2.10.0…2.13.0-0.4.pre