Flutter 3.47 Decouples Material Design and Switches Desktop to Impeller by Default
The Material split and Impeller default are breaking changes disguised as a routine update. Teams that delay migration risk a forced scramble when the old design libraries are deprecated in November and Impeller rollback flags are removed.
The Material and Cupertino design systems are now independent packages on pub.dev, decoupled from the core SDK for faster, independent updates. A one-click migration command handles the transition, and a compatibility bridge supports apps with dependencies still on the old imports. Localization delegates were also consolidated into a single, simpler call.
On desktop, Impeller replaces Skia as the default rendering engine across macOS, Windows, and Linux. Shader compilation moves to build time, eliminating first-run animation jank, and text rendering uses SDFs for sharper output. Rollback flags exist but are temporary.
Apple platform minimums jump to iOS 15 and macOS 12, and the UIScene lifecycle becomes mandatory for future Xcode 27 builds. Intel Mac hardware is no longer tested, and Swift Package Manager adoption for top iOS plugins has reached 92%, pushing CocoaPods into maintenance mode.
The Material split is a long-term architectural play that trades short-term migration pain for a faster, independent release cadence on design components, which matters more for plugin authors than app developers.
Making Impeller the default on all three desktop platforms simultaneously signals confidence in its stability after a long mobile-only incubation, but the temporary rollback flags are an admission that edge cases still exist.
The iOS 27 UIScene mandate is a hard deadline with no workaround for App Store distribution; the only variable is when a team chooses to absorb the cost.
SwiftPM reaching 92% adoption among top plugins and CocoaPods entering maintenance mode closes the window on waiting for the ecosystem to mature; the migration is now a when-not-if problem.
Widget Previews hitting stable, combined with the GenUI package updates, shows Flutter quietly investing in tooling for both manual UI development and AI-driven UI generation simultaneously.