Flutter Justin McCandless Apr 7, 2026

Flutter's Material and Cupertino code freeze

Article Summary

Justin McCandless from the Flutter team just announced a major architectural shift: Material and Cupertino libraries are being ripped out of the core framework. As of April 7th, the code is frozen.

Flutter is decoupling its UI component libraries from the main framework, moving them to standalone packages on pub.dev. This represents one of the biggest structural changes in Flutter's history, affecting how developers access iOS and Android design systems. The freeze marks the first milestone in a multi-release migration process.

Key Takeaways

Critical Insight

Flutter is extracting its design system libraries into separate packages to enable faster iteration and better modularity, with a carefully staged migration starting after version 3.44.

The freeze strategy reveals how Flutter plans to migrate millions of apps without breaking changes, but the real question is what this architectural shift unlocks for future development.

About This Article

Problem

Flutter's Material and Cupertino libraries had test dependencies that prevented the core framework from being decoupled. This meant hundreds of tests needed to be migrated before the architecture could change.

Solution

Justin McCandless opened an issue about the test dependencies, and community contributors stepped up to help. People at all experience levels worked together to migrate the tests throughout the codebase.

Impact

The migration effort let Flutter freeze Material and Cupertino code on April 7th. This created a one-release-cycle buffer between the frozen framework code and the new 1.0.0 packages, which reduced breaking changes when developers migrated.