
What’s new in Flutter 3.41 edited
Empowering the community
Follow
10 min read
·
Feb 11, 2026
Share
Today, we’re excited to announce the release of Flutter 3.41, marking a transformative milestone in our journey together! What an exciting time to be a developer; this release represents our commitment to empowering our community in shaping the direction of Flutter. With 868 commits from 145 unique contributors, Flutter 3.41 provides additional transparency and modularity to further improve the experience of contributing to Flutter.
We are introducing public release windows to make it easier for you to know when changes you contribute would land in a stable release. We are also continuing to decouple our design libraries, which in the long term will help us evolve design systems faster, while also giving you control over which design changes you adopt in your apps. Whether you are pushing the limits of the GPU with new fragment shader improvements or embedding Flutter seamlessly into existing native apps with content-sized views, this release ensures you have the tools to build with confidence and speed.
There is so much to explore, so let’s dig right in…
Press enter or click to view image in full size
Structural transparency and modularity
Public Release Windows
Predictability is key to landing complex features safely. We are introducing public release windows to provide the entire community with the visibility needed to plan ahead. By explicitly calling out branch cutoff dates and release targets publicly, we enable the entire community to have clarity on when their changes would land in future stable releases.
So what is a branch cutoff date? This date is the deadline for pull requests to land in the default branches (main for Dart and master for Flutter) to guarantee inclusion in the next stable release. If your PR merges before the cutoff, it will ship in the next stable version. If it merges after, it waits for the following cycle.
For 2026, we plan to release four stable releases (including this one), the dates are as follows:
- Flutter 3.41 — Feb | Branched on 06 January
- Flutter 3.44 — May | Branches on 07 April
- Flutter 3.47 — August | Branches on 07 July
- Flutter 3.50 — November | Branches on 06 October
Decoupling for a leaner core
We’re continuing our project to migrate the Material and Cupertino libraries to separate packages. This modular approach has several benefits:
*Faster release cycles: We no longer need to wait for a quarterly SDK release to ship design updates. We can release new Material or Cupertino features and bug fixes the moment they are ready.
*Independent upgrades: If you’re using an older SDK version due to a project constraint, you can still upgrade your design packages to get the latest look and feel.
*Adaptive design: Versioned packages allow us to react much faster when iOS or Android introduce drastic design shifts like “Liquid Glass” or “Material 3 Expressive”, ensuring your app never looks out of date.
Keep an eye on the GitHub issue to follow the progress.
Embracing ecosystem standards
Part of empowering the community is ensuring Flutter plays nicely with the tools we already rely on.
Swift Package Manager and UIScene
The transition from CocoaPods to Swift Package Manager continues. We strongly encourage Plugin authors to adopt Swift Package Manager, as it is now the standard for the Apple ecosystem. Additionally, to ensure compatibility with future iOS releases, Flutter now fully supports the UIScene lifecycle by default . This update is critical in meeting Apple’s requirements for upcoming iOS versions. To streamline migration from the deprecated AppDelegate lifecycle logic, check out our migration guide.
Android Grade Plugin (AGP) 9 and Kotlin DSL
We continue to align with modern Android standards. With the release of Android Gradle Plugin (AGP) 9, we are working on supporting new strictness requirements and providing guidance on how to navigate them.
Warning: Do not update your Flutter app for Android to AGP 9 as migrating plugins to AGP 9 and Flutter apps on AGP 9 using plugins is not yet supported (). This support is paused while the Flutter team audits the migration for backwards compatibility with older versions of AGP. This migration doc will be updated as guidance changes.
Thanks to contributions from community member Byoungchan Lee (bc-lee@), new plugin projects now default to using the Kotlin DSL for Gradle.
Platform-specific assets
Optimizing is now easier thanks to the work of Alex Frei (hm21@). You can now specify which platforms an asset should be bundled for in your pubspec.yaml. This allows optimizations such as, excluding heavy desktop assets from your mobile builds, significantly reducing app size.
flutter:
assets:
- path: assets/logo.png
- path: assets/web_worker.js
platforms: [web]
- path: assets/desktop_icon.png
platforms: [windows, linux, macos]
Listening to the community
The Flutter team at Google continues to prioritize what matters most to you.
The getting started experience
Press enter or click to view image in full size
For years, the community has called out that while Flutter is delightful and productive, it can be difficult to know where to begin the learning journey.
We recently launched a completely reimagined Dart and Flutter Getting Started Experience.
#181383











