Every Flutter change,
diff-resolved.
Breaking changes, deprecations, and migration paths — tracked across stable, beta, and main so your CI stays green.
MaterialState → WidgetState migration
All MaterialState references must be updated to WidgetState. Affects ButtonStyle, InputDecoration, and 47 other APIs.
Run dart fix --applyElevatedButton.resolve() removed
The resolve() method on button color classes is removed. Use styleFrom() pattern instead.
Replace with styleFrom()elevation parameter in styleFrom()
ElevatedButton.styleFrom() now accepts an elevation parameter directly, replacing the custom ButtonStyle wrapper pattern.
No action requiredRelease Channels
Every stable and beta release since 3.29 — raw data left, impact right.
Impeller Adreno 6xx fixHotfix addressing Impeller rendering regression on Adreno 6xx GPUs. No API changes.
MaterialState → WidgetStateLargest release of 2025. Android teams must migrate to Java 17 and NDK r28 for 16 KB page support. UIScene lifecycle migration required for iOS. Memory leak from 3.29 fixed.
Impeller opt-out deprecatedRelease candidate. Impeller opt-out deprecated on Android. CupertinoDynamicColor.withAlpha deprecated.
Hot reload web: default onWeb stateful hot reload promoted from experimental to stable and enabled by default. Significant DX improvement — no full page reloads during widget edits.
findChildIndexCallback → findItemIndexCallbackListView and SliverList separated constructors: findChildIndexCallback renamed to findItemIndexCallback. dart fix handles most cases automatically.
Impeller Android: default rendererImpeller becomes the default renderer on Android, matching iOS. Eliminates shader compilation jank. Teams relying on Skia fallbacks must audit custom shaders.
Version scheme change · memory leakFlutter adopts modified CalVer. Version numbers now encode release cadence. Memory leak introduced in this release (fixed in 3.38) — if on 3.29–3.37, update immediately.
Get the Changelog in Your Inbox
Stable drops every ~3 months. Beta drops monthly. We send the diff, not the noise.
What Actually Broke
Every breaking change since 3.29, with before/after and migration difficulty.
Full Diff Report
Get the complete 3.29–3.41 breaking change report as a PDF — 138 changes, migration steps, and effort ratings. Used by engineering teams at pre-deployment audits.