July 23, 2026

Upgrading Flutter? Here’s Everything You Need to Do

Keeping your Flutter project up to date is essential for better performance, security, bug fixes, and access to the latest features. However, simply running flutter upgrade isn’t enough. A complete upgrade also includes updating your project dependencies and ensuring your existing project structure matches the latest Flutter templates.

In this guide, we’ll walk through the entire Flutter upgrade process—from updating the Flutter SDK to upgrading packages and refreshing an existing project.


Step 1: Update the Flutter SDK

First, upgrade your Flutter SDK to the latest stable version.

flutter upgrade

Verify the installed version:

flutter --version

Then check whether your development environment is healthy.

flutter doctor

Resolve any issues reported before moving to the next step.


Step 2: Clean the Project

Cleaning removes old build artifacts that may cause unexpected issues after an SDK upgrade.

flutter clean


Step 3: Update Project Dependencies

After updating Flutter, your project dependencies may still be using older versions.

First, fetch dependencies:

flutter pub get

Check which packages have newer versions available:

flutter pub outdated

You’ll typically see three version columns:

  • Current – the version currently installed.
  • Upgradable – the newest version allowed by your current version constraints.
  • Resolvable – the newest version your dependency graph can resolve.

If you only run:

flutter pub upgrade

Flutter upgrades packages only within the version constraints defined in your pubspec.yaml.

If you want to upgrade to the latest compatible major versions (not just the versions locked in pubspec.lock), run:

flutter pub upgrade --major-versions

This command updates your dependency constraints where possible and resolves packages to newer major releases. Because major versions can introduce breaking changes, review your code and package changelogs after upgrading.

Finally, fetch the updated dependencies:

flutter pub get


Step 4: Refresh an Existing Project

One of the most overlooked steps after upgrading Flutter is updating the platform project files.

Flutter occasionally introduces improvements to Android, iOS, Web, Windows, macOS, and Linux project templates. Existing projects don’t automatically receive these changes.

To update your project with the latest template files, run:

flutter create .

The command regenerates missing or outdated platform configuration files while preserving your Dart source code.

This helps bring your project in line with the latest Flutter tooling and can resolve issues related to:

  • Android Gradle updates
  • Kotlin configuration changes
  • iOS project settings
  • Platform-specific build scripts
  • Generated configuration files

Tip: Review the generated changes before committing them to version control, especially if you’ve customized native platform files.


Step 5: Analyze Your Project

After upgrading dependencies and project files, analyze your code.

flutter analyze

Fix any warnings or errors, particularly those caused by breaking API changes in updated packages.


Step 6: Run Your Tests

If your project includes tests, run them to ensure everything still works.

flutter test

Testing after upgrades helps catch regressions before they reach production.


Step 7: Run the Application

Finally, launch your app.

flutter run

Verify that:

  • The application builds successfully.
  • There are no runtime exceptions.
  • All core features work as expected.
  • Platform-specific functionality still behaves correctly.

Optional: Upgrade Individual Packages

If you prefer upgrading one dependency at a time, you can use:

flutter pub add package_name

or specify a version:

flutter pub add package_name:^latest_version

This approach gives you more control over dependency upgrades in larger projects.


Common Upgrade Workflow

Here’s the complete upgrade workflow in one place:

flutter upgrade

flutter doctor

flutter clean

flutter pub get

flutter pub outdated

flutter pub upgrade --major-versions

flutter create .

flutter analyze

flutter test

flutter run


Best Practices

  • Commit your code before starting any upgrade.
  • Upgrade the Flutter SDK before upgrading packages.
  • Review breaking changes in package release notes.
  • Test your application after every major upgrade.
  • Run flutter create . after significant Flutter SDK upgrades to keep platform files in sync.
  • Keep your dependencies updated regularly instead of waiting several months between upgrades.

Conclusion

A Flutter upgrade is more than updating the SDK. A healthy upgrade process also includes refreshing your dependencies, regenerating platform project files, analyzing your code, and thoroughly testing your application.

Following this workflow helps keep your Flutter projects compatible with the latest tooling, reduces build issues, and ensures you can take advantage of new Flutter features with confidence.