Flutter

Flutter 3.47: What’s New and Whether You Should Upgrade Now

November 7, 2026 · 6 min read

Flutter 3.47: What’s New and Whether You Should Upgrade Now

Flutter 3.47 was released on August 12, 2026. It is less about new widgets and more about how Flutter is built. Material and Cupertino move out of the SDK, Impeller takes over on desktop, and Widget Previews become stable. flutter

If you are wondering whether to upgrade your app today, this guide covers what changed in Flutter 3.47, what can break, and how to upgrade safely.

Flutter 3.47 at a Glance

  • Standalone material_ui and cupertino_ui packages reach version 1.0 and are opt-in

  • Impeller becomes the default renderer on macOS, Windows and Linux

  • Widget Previews graduate to stable

  • Updates to GenUI for building AI-driven interfaces

  • Higher minimum iOS and macOS versions to support Xcode 27

  • A few small breaking changes to check before you upgrade

What’s New in Flutter 3.47

Standalone material_ui and cupertino_ui packages

Version 1.0 of the standalone material_ui and cupertino_ui packages is now available, separating the design systems from the core SDK. Because they live on pub.dev, they can ship fixes and new components on their own weekly schedule instead of waiting for the quarterly SDK release. flutterflutter

This is opt-in in 3.47. To try it, add the packages to your project:

flutter pub add material_ui
flutter pub add cupertino_ui

Then update your imports. The official migration guide covers this, and dart fix can add the new packages to your project automatically; if it does not, add them manually with flutter pub add. flutter

One thing to plan for: a summary of the release post says the original Material and Cupertino libraries inside the SDK will be formally deprecated in the fall stable release in November. You do not have to migrate today, but it is worth starting on a branch. daily

Impeller is now the default on desktop

In Flutter 3.47, Impeller is the default renderer for macOS, Windows and Linux. The fallback options will be removed in a future release, so if you have to go back to Skia, report the bug. flutterflutter

Two other desktop improvements come with it:

  • Wide Gamut Color is now on by default on macOS, giving richer and more accurate colors on supported hardware. flutter

  • Impeller now uses Signed Distance Function rendering for text on macOS, Linux and Windows, which gives sharper text and cleaner curves. flutter

If you ship a desktop app, test your custom painters and shaders on all three platforms before you release.

Widget Previews are stable

The Widget Previews tool has graduated to stable, with local build caching for faster startup and real-time search and filtering of previews. The release also adds: flutter

  • An abstract PreviewThemeData API for layering themes, which helps with complex test matrices. x

  • Automatic syncing of your project’s web assets when previewing web widgets. x

For day-to-day work this means you can build and check individual widgets without running the whole app.

GenUI updates

Flutter 3.47 adds a new a2ui_core package that groups the protocol-related classes, such as expressions and catalog entries. If you are building AI-generated interfaces, this is worth a look. If you are not, you can skip it. x

iOS, macOS and Xcode 27

This is the part most likely to affect existing mobile apps:

  • The minimum supported iOS version rises from 13 to 15, and the minimum macOS version rises from 10.15 to 12, to support Xcode 27. daily

  • The iOS 27 SDK requires the UIScene lifecycle. Apps built with Xcode 27 that do not adopt it will fail to launch. The Flutter CLI handles this in most cases, but custom AppDelegate code and older plugins may need manual changes. daily

Desktop, web and Android notes

  • Coverage of the release also mentions more experimental multi-window desktop APIs, flavors on Windows and Linux, and continued progress toward WebAssembly on the web. codemicros

  • The docs add a migration guide for moving plugins and apps to the built-in Kotlin Gradle plugins, plus troubleshooting for Wasm compilation errors. flutter

  • The release ships with Dart 3.13. codemicros

Breaking Changes to Check Before You Upgrade

The official breaking changes page lists three changes for 3.47: OpenGL ES render-to-texture content is now stored top-down, semantics header and heading level behavior changed on iOS and Android, and describeEnum was removed. flutter

Search your code for describeEnum first, since that one will fail to compile. If you use accessibility headings or render to a texture with OpenGL ES, read those two migration guides before you upgrade.

Should You Upgrade to Flutter 3.47?

It depends on your project:

  • New projects: Yes. Start on 3.47 so you do not have to migrate later.

  • Desktop apps: Yes, but test first. Impeller is now the default, so check your rendering on macOS, Windows and Linux.

  • Production mobile apps: Upgrade on a separate branch. Check that your minimum iOS version works with the new iOS 15 requirement, and that any custom AppDelegate code supports UIScene.

  • Apps that must support iOS 13 or 14: Stay on your current version until you are ready to drop those versions.

  • Apps with heavy plugin use: Run flutter pub outdated first and make sure your plugins support 3.47.

Whichever case applies, upgrade to the latest 3.47 patch, not just 3.47.0. Flutter 3.47.8 now blocks compromised eMudhra CA keys. flutter

How to Upgrade to Flutter 3.47 (Step by Step)

  1. Commit your work and create a new branch.

  2. Upgrade the SDK and check the version:

flutter upgrade
flutter --version
flutter doctor
  1. Check your dependencies:

flutter pub outdated
flutter pub upgrade
  1. Apply automatic fixes and run the analyzer:

dart fix --apply
flutter analyze
  1. Run your tests, then test manually on every platform you ship to.

  2. Optional: start moving to material_ui and cupertino_ui by following the official migration guide.

  3. Update your CI so it uses the same Flutter version before you merge.

Frequently Asked Questions

Is Impeller the default renderer in Flutter 3.47?

Yes, on macOS, Windows and Linux. Fallback options will be removed in a future release. flutter

Do I have to switch to material_ui and cupertino_ui now?

No. It is opt-in in 3.47. Plan the move before the original libraries are deprecated.

What Dart version comes with Flutter 3.47?

Dart 3.13. codemicros

Are Widget Previews production-ready?

Yes, Widget Previews are now stable. flutter

What is the minimum iOS version for Flutter 3.47?

iOS 15. The minimum macOS version is 12. daily

Conclusion

Flutter 3.47 is a structural release. The biggest changes are the split of Material and Cupertino into packages, Impeller on desktop, and stable Widget Previews. For new projects and desktop apps, upgrading is worth it. For production mobile apps, upgrade on a branch, check your iOS minimum and UIScene setup, and move to the latest patch release.

Want this built for you?

Our team offers Website Deploy On Vercel — get a free quote.

View Services