Every change Boring Doc has indexed from official sources: breaking-change guides, hotfix changelogs and release notes. Filter by category, impact, platform, series and evidence type.
The formula for `SpringDescription` changed to correct an earlier error, affecting underdamped springs (damping ratio less than 1) with mass values other than 1. Springs created prior to this change may exhibit different bouncing behaviors after upgrading.
Official migration guideVerified classificationFrameworkSource Details
`SystemContextMenuController.show` is deprecated. The same functionality can be achieved by passing the result of calling `SystemContextMenu.getDefaultItems` to `SystemContextMenuController.showWithItems`.
Official migration guideVerified classificationFrameworkSource Details
When routes are pushed, developers can await them to be notified when they are popped. However, this didn't work when they were removed because the associated future was never completed.
Official migration guideVerified classificationFrameworkSource Details
The `ui.ImageFilter.blur`'s default tile mode is now automatically selected by the backend. Previously `TileMode.clamp` was used unless a different tile mode was specified. Now, the default is `null` and specifies automatic selection unless a specific tile mode is specified.
Official migration guideVerified classificationFrameworkSource Details
Android's v1 embedding has been removed in Flutter 3.29.0. This follows the deprecation described in Android v1 embedding app and plugin creation deprecation. The following is a full list of classes removed.
Official migration guideVerified classificationFrameworkSource Details
The `flutter_test` package and `flutter` tool will no longer use the `webGoldenComparator` top-level variable, and instead use the original `goldenFileComparator` top-level variable (like the non-web platforms).
Official migration guideVerified classificationFrameworkSource Details
`CardTheme`, `DialogTheme` and `TabBarTheme` were refactored to conform to Flutter's conventions for component themes. `CardThemeData`, `DialogThemeData`, and `TabBarThemeData` were added to define overrides for the defaults of the component visual properties. Releases of Flutter continue to normalize component themes like these for a more consistent theming experience in the material library.
Official migration guideVerified classificationFrameworkSource Details
The Material Design tokens updated the mapping of 4 color roles in light mode to be more visually appealing while retaining accessible contrast. Testing identified this change as non-breaking in Flutter, but some customers might notice this small change. The update affected the following color properties:
Official migration guideVerified classificationFrameworkSource Details
Edge-to-edge mode is Android's default display behavior as of Android version 15 and above. In Android 15, you could opt out of this behavior but, as of Android 16, you can't. To learn more about this change, check out the Android 16 release notes.
Official migration guideVerified classificationFrameworkSource Details
Added a generic type to the `PopScope` class and replaced the `onPopInvoked` with a new method `onPopInvokedWithResult`. The new method takes a boolean `didPop` and a `result` as position parameters.
Official migration guideVerified classificationFrameworkSource Details
The Android embedder for Flutter introduces a new API, `SurfaceProducer`, which allows plugins to render to a `Surface` without needing to manage what the backing implementation is. Plugins using the older `createSurfaceTexture` API will continue to work with Impeller after the _next_ stable release, but are recommended to migrate to the new API.
Official migration guideVerified classificationFrameworkSource Details
The `ButtonBar` widget was deprecated in favor of the more efficient `OverflowBar` widget. As a result, `ThemeData.buttonBarTheme` and `ButtonBarTheme` were also deprecated.
Official migration guideVerified classificationFrameworkSource Details
New color roles in `ColorScheme` include seven tone-based surfaces and containers, and twelve accent colors for primary, secondary, and tertiary groups. This update deprecates three existing color roles: `background`, `onBackground`, and `surfaceVariant`. The `ColorScheme` constructed by the updated `ColorScheme.fromSeed` method now generates different values compared to the previous version, adapting to the Material Design 3 guidelines.
Official migration guideVerified classificationFrameworkSource Details
If a controller isn't provided in the constructor, the `controller` member is `null`. This makes `PageView` and its `controller` property consistent with other widgets.
Official migration guideVerified classificationFrameworkSource Details
Disposables in pure Dart projects can't use `MemoryAllocations` in Flutter. So, to be leak-trackable they need a Dart-only class. `MemoryAllocations` in Flutter is renamed to make the name available to a non-Flutter, Dart project.
Official migration guideVerified classificationFrameworkSource Details
Flutter's minimum supported Android version is now Lollipop (API 21). Beginning with Flutter's 3.22 stable release, Flutter will no longer work on devices running Android KitKat (API 19).
Official migration guideVerified classificationFrameworkSource Details
For some time now (years), Flutter has had two key event systems implemented. The new system reached parity with the old platform-specific raw key event system, and the raw system has been deprecated.
Official migration guideVerified classificationFrameworkSource Details
`ScrollBehavior`s now allow or disallow scrolling speeds to be affected by the number of pointers on the screen. `ScrollBehavior.multitouchDragStrategy`, by default, prevents multiple pointers interacting with the scrollable at the same time from affecting the speed of scrolling.
Official migration guideVerified classificationFrameworkSource Details
Flutter apps included an asset file named `AssetManifest.json`. This file effectively contains a list of assets. Application code can read it using the `AssetBundle` API to determine what assets are available at runtime.
Official migration guideVerified classificationFrameworkSource Details
To build a Flutter app for Android, Flutter's Gradle plugins must be applied. Historically, this was done imperatively with Gradle's legacy, imperative apply script method.
Official migration guideVerified classificationFrameworkSource Details
The Material library has been updated to match the Material 3 Design spec. Changes include new components and component themes, updated component visuals, and much more. Many of these updates are seamless. You'll see the new version of an affected widget when recompiling your app against the 3.16 (or later) release. But some manual work is also required to complete the migration.
Official migration guideVerified classificationFrameworkSource Details
For some time now (years), Flutter has had two key event systems implemented. The new system reached parity with the old platform-specific raw key event system, and the raw system will be removed. To prepare for that, the Flutter APIs that use the old system are being modified, and for a select few of them we have decided to make breaking changes in the API in order to preserve the quality of the API.
Official migration guideVerified classificationFrameworkSource Details
The Material library has been updated to match the latest Material Design spec. Changes include new components, new component themes, and updated component visuals. As of this release, `ThemeData.useMaterial3` is set `true` by default.
Official migration guideVerified classificationFrameworkSource Details
Android 14 introduced nonlinear font scaling up to 200%. It may change how your app looks when the user changes the accessibility text scaling in system preferences.
Official migration guideVerified classificationFrameworkSource Details