In addition, the Flutter code freeze for the Material and Cupertino libraries marks a pivotal moment in the framework’s evolution. On April 7th, the Flutter team froze all contributions to these libraries within the main framework. This signals the first step in a planned transition to release them as independent packages—material_ui and cupertino_ui—on pub.dev.
As a result, this strategic shift aims to streamline development, improve maintainability, and offer greater flexibility for future updates. The change will not immediately affect most Flutter developers, but those who contribute directly to Material or Cupertino should note the upcoming migration process.
Why the Flutter Code Freeze Was Necessary
Flutter Code Freeze and ensuring a Smooth Transition
However, Freezing contributions to Material and Cupertino is crucial for maintaining stability during this transition. By locking the current codebase, the Flutter team gives developers who upgrade to Flutter 3.44 or later a consistent foundation before they migrate to the new packages.
For example, Once the team officially releases material_ui and cupertino_ui, the existing implementations inside the framework will be deprecated and eventually removed. This phased approach minimises disruptions and lets developers adapt at their own pace. For a useful parallel on managing structured transitions, see our guide on WooCommerce product page SEO tips.
Impact on Developers
Meanwhile, For most Flutter app and plugin developers, this change will be invisible—at least for now. However, active contributors to Material or Cupertino should keep the following points in mind:
- Open Pull Requests (PRs): PRs affecting these libraries will stay open, and the team will continue reviews as usual. Once the new packages go live, contributors will receive guidance on porting their changes to the new repositories.
- Existing Issues: The main Flutter repository will still track bug reports and feature requests for Material and Cupertino, following the same process as other decoupled packages.
The Road to Decoupling Material and Cupertino
A Collaborative Community Effort
Overall, the move to separate Material and Cupertino from the core framework has been community-driven. When initial challenges arose—such as test dependencies complicating the decoupling process—contributors from across the Flutter ecosystem stepped in to help. They migrated hundreds of tests, which accelerated progress toward this milestone.
Flutter Code Freeze: Next Steps
In addition, With the freeze in place, the Flutter team will focus on three key areas:
- Porting the Libraries: Moving the frozen Material and Cupertino code into the new
material_uiandcupertino_uipackages. - Implementing CI/CD: Setting up automated testing and deployment pipelines for the new packages.
- Documentation & Migration Guides: Publishing clear instructions so developers can transition smoothly when the time comes.
As a result, Developers can expect detailed migration instructions ahead of the stable Flutter 3.44 release. Until then, the frozen libraries stay unchanged, offering a stable foundation for future updates. The official Flutter breaking changes documentation is the best place to track progress and prepare your projects.
Looking Ahead
This transition represents a significant evolution in how Flutter manages its UI components. Decoupling Material and Cupertino from the core framework gives the team greater flexibility to ship independent updates without requiring a full Flutter release cycle.
For developers, the key takeaway is simple: no immediate action is needed. Nevertheless, staying informed about upcoming changes will ensure a smooth migration when the new packages launch. Keep an eye on official Flutter announcements for the latest details.
Community feedback plays a vital role in shaping Flutter’s future. If you spot any gaps or have suggestions, file an issue or submit a PR. Together, the Flutter community is building a more modular, maintainable, and powerful framework for everyone.