What’s New in Flutter 3.47? Features, Benefits, Drawbacks & Upgrade Guide

What’s New in Flutter 3.47? Features, Benefits, Drawbacks & Upgrade Guide

Aug 19, 2026

Share Article

xfacebooklinkedin

So a new version of Flutter just landed, 3.47, and now you’ve got a decision to make. Maybe you own the app. Maybe you’re the founder signing off on it, or the tech lead who’ll actually run the upgrade, or a small business owner who just wants the thing to keep working. Either way, the question is the same one everybody asks: upgrade now, wait a bit, or quietly pretend you didn’t see the notification?

It’s a fair thing to weigh. A new version can make your app faster and nicer to work on. It can also swallow a whole Tuesday if something breaks halfway through. So the smart move is to know what changed before you touch anything.

We’re Dartitude. We build Flutter apps all day, which means we run these upgrades every single time Google ships one. This post is the version we’d give a friend over coffee: what’s actually new, what’s genuinely useful, what’s a bit of a headache, and how to upgrade without lighting your app on fire. Read it and you’ll know whether 3.47 is worth your time this week or not.

Here’s the short version if you’re in a hurry. Flutter 3.47 is the newest stable release. It came out on August 12, 2026, and runs on Dart 3.13. Three changes are the ones people are talking about. Flutter’s two design kits, Material and Cupertino, moved into their own packages. The graphics engine called Impeller now runs on desktop by default. And the Widget Preview tool is finally stable.

Upgrading takes one command, flutter upgrade. Moving your design code across takes one more, dart fix --apply --code=migrate_design_widgets. The one thing you can’t ignore forever: the old design code inside Flutter starts going away in November 2026, so don’t sit on it too long.

So what is Flutter 3.47, in plain terms?

It’s the latest stable release of Flutter, the tool Google made for building apps that run on phones, web, and desktop from one codebase. It landed on August 12, 2026, built on Dart 3.13, and it replaces the older 3.44 version.

Most updates are small housekeeping. This one is a bigger deal, mostly because of one change to how Flutter’s design pieces are packaged. Let’s start there.

The new features in Flutter 3.47

Material and Cupertino are now their own packages

This is the headline. Material (the Google-style look) and Cupertino (the Apple-style look) used to live inside Flutter itself. In 3.47 they moved out into two separate packages you add on their own: material_ui and cupertino_ui.

Here’s a way to picture it. Think of how the apps on your phone update on their own in the background, instead of you waiting for a whole new phone system every few months. That’s basically what happened to Flutter’s design kits. They can now update on their own weekly schedule, so you get the newest buttons, menus, and styles without upgrading your entire Flutter version.

One thing to know: the old design code still sitting inside Flutter is planned for removal starting with the November 2026 release. Moving over is optional today, but the clock’s ticking. More on the easy fix in the upgrade guide below.

Impeller now runs on desktop by default

Impeller is the part of Flutter that actually draws everything you see on screen. It already ran the show on phones. Now it’s the default on Mac, Windows, and Linux too.

For you, that means smoother animations on desktop apps, and the little first-time stutter older setups sometimes showed is mostly gone. If you ship a desktop app, this is a quiet win.

Widget Previews are stable now

The Widget Preview tool lets you look at one piece of your app’s screen on its own, without starting the whole app. It’s like checking a single LEGO piece before you build the entire set. It used to be experimental. In 3.47 it’s stable, works better with VS Code and Android Studio, and it even uses up to 50% less memory in the Flutter tool while it does it.

Getting ready for Apple’s next round

Flutter 3.47 also bumps the minimum Apple versions to get ahead of Xcode 27 and Apple’s new operating systems. The floor moves to iOS 15 and macOS 12. A couple of related notes: Macs with Apple’s own chips no longer need the Rosetta helper to run Flutter, and Intel Mac support is winding down. If you build for iPhone or Mac, keep these in mind.

A few smaller wins

There’s more under the hood: experimental support for loading WebAssembly (Wasm) in pieces on the web, better multi-window support on desktop, a new package for AI-driven interfaces (genui 0.10.0 with a2ui_core), and an Android fix for a bug where keys like Shift could get stuck.

The benefits: why you’d actually want 3.47

Let’s talk payoff, because features only matter if they help you.

  • Faster design updates. Since Material and Cupertino update on their own now, you can grab new styles without a big scary version jump. Small, regular updates beat one giant one.
  • A smoother desktop app. Impeller on desktop means better-looking motion for anyone shipping to Mac, Windows, or Linux.
  • Less waiting while you build. Stable Widget Previews and lighter memory use make the day-to-day work quicker for your developers, which quietly saves you money.
  • Room to grow. The design split also makes it easier to build your own custom look later, handy if your brand needs something that doesn’t scream “default template.”

Picture a two-person startup shipping a small booking app (made-up example, not a real client). Their designer wants the latest Material buttons. Before 3.47, that meant upgrading everything and praying. Now they add one package and move on with their day. That’s the kind of small thing that adds up over a year.

The drawbacks: the honest annoying bits

We’d be a pretty shady team if we only told you the good stuff. Here’s what’s not so fun.

  • You have to do the migration. Moving Material and Cupertino to the new packages is easy, but it’s still a task on your list, and it becomes required once the old code is removed starting November 2026. Skip it now and you may be rushing later.
  • Some packages might lag. A few third-party packages could still point at the old design code for a while, so you might hit a bump or two until they catch up.
  • Higher minimum Apple versions. Requiring iOS 15 and macOS 12 means you drop support for some very old devices. For most apps that’s fine, but if a slice of your users are on ancient phones, check first.
  • Every upgrade needs testing. Because the desktop renderer changed, you’ll want to actually test your desktop build, not just assume it’s fine. That’s an afternoon, not a disaster, but it’s real work.

Say you run a small online store’s app (again, a made-up example) and half your customers are on older iPhones. Jumping to 3.47 without checking could quietly cut some of them off. Five minutes of checking your analytics first saves you that headache. This is the kind of thing we double-check for people at Dartitude before we hit upgrade, because the boring checks are the ones that save you.

How to upgrade to Flutter 3.47

Good news: the upgrade itself is short. Here’s the simple version.

  1. Save your work first. Commit your project to git so you can undo anything.
  2. Update Flutter: run flutter upgrade.
  3. Check your setup: run flutter doctor to make sure everything’s happy.
  4. Move your design code over (optional today, needed before November): run dart fix --apply --code=migrate_design_widgets. That rewrites your imports to the new material_ui and cupertino_ui packages automatically.
  5. If the tool trips on a known early bug, add the packages by hand with flutter pub add material_ui (and cupertino_ui if you use it), then run dart fix --apply again.
  6. Still depending on old code somewhere? Wrap your app in the MaterialUiCompatibilityBridge so you can move now while other packages catch up.
  7. Test everything, especially your desktop build (new renderer) and any iPhone or Mac targets (new minimum versions).

That’s it. For most apps it’s a coffee-length job. If you want the deeper walkthrough, our Flutter app migration page covers the bigger moves.

Check the official blog by Flutter.dev: https://flutter.dev/blog/whats-new-in-flutter-3-47

Should you upgrade right now?

Depends on where you are.

Starting a brand-new app? Yes, begin on 3.47 so you’re not migrating later.

Running a live app? Upgrade after a normal round of testing, and put the design migration on your calendar before November. You get the desktop and speed wins right away, and you can do the design move on your own schedule.

Not technical and just want a straight answer? For most teams, upgrading is worth it, and the migration is easy. The only reason to wait is if you’re mid-launch and don’t want to touch anything until it’s out the door.

Where Dartitude fits in

We’re not going to hard-sell you here. Upgrading Flutter is very doable on your own, and we just handed you the steps to do it.

But if it’s a big jump across several versions, or the migration on a large app feels like more than you want to take on this week, that’s literally what we do all day at Dartitude. We build and maintain Flutter apps, we run these upgrades every release, and we’ll give you an honest read on whether it’s a quick job or a real project. If that’s useful, talk to us. If not, go forth and upgrade. Either way, we hope this saved you some guessing.

FAQs

When did Flutter 3.47 come out?

Flutter 3.47 became the stable release on August 12, 2026, built on Dart 3.13. It replaced the 3.44 version as the current stable one.

What’s the biggest change in Flutter 3.47?

The Material and Cupertino design kits moved out of Flutter and into their own packages, material_ui and cupertino_ui. That lets them update on their own weekly schedule instead of only with big Flutter releases. The old versions inside Flutter are set to be removed starting November 2026.

Do I have to migrate to the new design packages right away?

Not yet, but soon. It’s optional in 3.47, but the old code is planned for removal starting November 2026. Run dart fix --apply --code=migrate_design_widgets to move your imports over automatically while it’s a quick, one-command job.

Is Impeller the default on desktop now?

Yes. As of 3.47, Impeller is the default renderer on Mac, Windows, and Linux, the same as it already was on phones. Test your desktop build after upgrading, since the way things get drawn changed underneath.

How do I upgrade to Flutter 3.47?

Run flutter upgrade, then flutter doctor to check your setup. Optionally run dart fix --apply --code=migrate_design_widgets to move to the new design packages. Then rebuild and test, paying attention to your desktop build and any iPhone or Mac targets, since the minimum versions went up.

Are there any downsides to upgrading?

A few. You’ll need to do the design migration eventually, some third-party packages may take time to catch up, and the higher minimum iOS 15 and macOS 12 versions drop support for very old devices. None are dealbreakers for most apps, but they’re worth a quick check before you upgrade.

Wrapping up

Flutter 3.47 is a quietly important release. The design kits update on their own now, desktop apps look smoother, and daily work gets a little faster. The trade-off is a small migration you’ll want to do before November and a bit of testing. Save your work, run flutter upgrade, do the dart fix migration while it’s easy, and test your builds. Do that and you’re in good shape. And if you’d rather hand it off, you know where to find us.
 

Let’s Build the Future Together

We’re Ready to Connect

Have a question or ready to get started? Use our simple contact form to share your needs, and we’ll respond promptly.

Ahmedabad (HQ)

"SolGuruz House", 10, Sundarvan Society, Besides Hyatt Regency, Ashram Rd, Usmanpura, Ahmedabad, Gujarat 380014, India.

USA

196 Danforth Ave Jersey City, NJ 07305

1 Week Risk-Free Trial

1 Week Risk-Free Trial

End-to-End Flutter Development Services

End-to-End Flutter Development Services

Dedicated Flutter Developers for Your Project

Dedicated Flutter Developers for Your Project

logo

© Copyright 2026 by Dartitude

FacebookLinkedInBehanceDribbble