Rename MaterialState to WidgetState
`MaterialState`, and its related APIs, have been moved out of the Material library and renamed to `WidgetState`.
Choose two real stable releases. Boring Doc lists every indexed change between them with its evidence, impact and migration instructions, and can fetch the verified source diff from GitHub.
35 indexed changes across 4 versions: 4 breaking change, 2 removed, 29 bug fix.
6 high-impact items. Start with: Rename MaterialState to WidgetState; Introduce new ColorScheme roles; Nullable PageView.controller; ….
Read the 5 official migration guides first, apply `dart fix` where available, then upgrade and run your test suite. Deprecations can be scheduled; removals cannot.
Prefer stepping through stable series sequentially; each breaking-change page has a checklist, before/after code and the official guide. Verify with `flutter analyze`, `flutter test` and a profile-mode run on each target platform.
Tick “Fetch verified source diff” above (or load it now) to corroborate these announcements with the git history between the two tags.
`MaterialState`, and its related APIs, have been moved out of the Material library and renamed to `WidgetState`.
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.
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.
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.
In accordance with Flutter's Deprecation Policy, deprecated APIs that reached end of life after the 3.19 stable release have been removed.
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).
AI_PROVIDER (for example to openai-compatible with a local Ollama or LM Studio endpoint) to enable grounded explanations. Everything else on this page works without an AI provider.