---
title: "Flutter Versions"
description: "The current stable release of Flutter, the newest patch of every recent release, and which versions Shorebird supports."
---

Latest stable Flutter

The latest stable version of Flutter is **3.47.9**, released on October 29, 2026. It ships with Dart 3.13.7.

## Which Flutter version should you use?

Shorebird recommends the latest stable release, **3.47.9**.

Whatever release you are on, run its latest patch. Patches exist because something was broken, and there is rarely a downside to taking the newest one.

Large enterprises often stay exactly one release behind, which today means **3.44.9**. Wherever you land, keep it less than 12 months old.

## Recent Flutter releases

Flutter opens a new release roughly every quarter (3.44, then 3.47) and issues hotfix patches against it as bugs are found. Only the newest release gets hotfixes, so a fix that lands in 3.47 is generally not backported.

Each row below is the newest patch of a release, the Dart SDK version it bundles, and the headline changes it brought. Use the version in the first column; it links to Flutter’s full release notes.

| Flutter                                                                                     | First released                      | Highlights                                                                                                                     | Recommended   |
| ------------------------------------------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------- |
| [3.47.9](https://docs.flutter.dev/release/release-notes/release-notes-3.47.0), Dart 3.13.7  | August 2026, 2 months ago           | Impeller became the default renderer on macOS, Windows, and Linux; Material and Cupertino split into standalone packages       | Latest stable |
| [3.44.9](https://docs.flutter.dev/release/release-notes/release-notes-3.44.0), Dart 3.12.2  | May 2026, 5 months ago              | Swift Package Manager replaced CocoaPods as the default for iOS and macOS; Hybrid Composition++ for Android platform views     | Yes           |
| [3.41.9](https://docs.flutter.dev/release/release-notes/release-notes-3.41.0), Dart 3.11.5  | February 2026, 8 months ago         | Platform-specific assets in pubspec.yaml, Android Gradle Plugin 9 support, and Navigator.popUntilWithResult                    | Yes           |
| [3.38.10](https://docs.flutter.dev/release/release-notes/release-notes-3.38.0), Dart 3.10.9 | November 2025, 11 months ago        | Dart dot shorthands, so .start works where MainAxisAlignment.start was required; widget previews in VS Code and Android Studio | Yes           |
| [3.35.7](https://docs.flutter.dev/release/release-notes/release-notes-3.35.0), Dart 3.9.2   | August 2025, 1 year 2 months ago    | Squircle corners across most Cupertino widgets, CupertinoExpansionTile, and lower iOS startup latency                          | Upgrade       |
| [3.32.8](https://docs.flutter.dev/release/release-notes/release-notes-3.32.0), Dart 3.8.1   | May 2025, 1 year 5 months ago       | Hot reload on the web (experimental) and Cupertino squircles via RoundedSuperellipseBorder                                     | Upgrade       |
| [3.29.3](https://docs.flutter.dev/release/release-notes/release-notes-3.29.0), Dart 3.7.2   | February 2025, 1 year 8 months ago  | Impeller on OpenGLES for Android devices without Vulkan, and Dart running on the platform main thread on Android and iOS       | Upgrade       |
| [3.27.4](https://docs.flutter.dev/release/release-notes/release-notes-3.27.0), Dart 3.6.2   | December 2024, 1 year 10 months ago | Impeller became the default renderer on modern Android; spacing on Row and Column                                              | Upgrade       |
| [3.24.5](https://docs.flutter.dev/release/release-notes/release-notes-3.24.0), Dart 3.5.4   | August 2024, 2 years 3 months ago   | Flutter GPU preview and multi-view embedding for Flutter web                                                                   | Upgrade       |
| [3.22.3](https://docs.flutter.dev/release/release-notes/release-notes-3.22.0), Dart 3.4.4   | May 2024, 2 years 5 months ago      | WebAssembly on the stable channel for web, and a feature-complete Vulkan backend for Impeller on Android                       | Upgrade       |

Show 5 older releases

For releases older than these, see Flutter’s [release archive](https://docs.flutter.dev/release/archive). For what a specific patch fixed, see the [hotfix changelog](https://github.com/flutter/flutter/blob/stable/CHANGELOG.md).

## Shorebird and Flutter versions

Shorebird works with a wide range of Flutter versions and uses a private cache of Flutter installs which it will automatically manage for you to match your desired Flutter version.

When Shorebird CLI is installed, it pulls down the latest stable version of Shorebird’s Flutter, currently 3.47.9. This section covers how to list and change the Flutter version used by Shorebird CLI.

## Flutter update process

Shorebird updates its fork of Flutter to stay current with the stable release. Quarterly minor releases are updated within 5 business days of release. Patches are updated within 1 business day.

### Supported Flutter versions

Shorebird may raise the minimum Flutter version over time. The table below lists the current minimum for creating a release on each platform. Support for older Flutter versions can be negotiated as part of an [Enterprise plan](/enterprise/).

| Platform | Minimum Flutter Version |
| -------- | ----------------------- |
| Android  | 3.24.0                  |
| iOS      | 3.24.0                  |
| macOS    | 3.27.4                  |
| Windows  | 3.32.6                  |
| Linux    | 3.27.4                  |

Android releases built with 3.24.0 can uninstall patches in error; see the November 17, 2025 entry in [Flutter version notes](#flutter-version-notes).

Patching has its own minimums. On macOS, Windows and Linux they are the same as the table above. An iOS release can be patched if it was built with Flutter 3.22.2 or later. An Android release can be patched on any Flutter version.

Shorebird recommends using the latest stable version of Flutter whenever possible. Changes to Shorebird are not currently backported to previous releases of Flutter.

### List Flutter versions

To list all Flutter versions Shorebird has published, use the `shorebird flutter versions list` command.

The Flutter version used by `shorebird release` by default is marked with a `✓`.

Tip

Another way to see the current Flutter version is by running `shorebird --version`.

### Use a different Flutter version

By default, Shorebird will use the latest stable version of Flutter. If you need to create a release with a different version of Flutter, you can use the `--flutter-version` option with the `shorebird release` command:

```
shorebird release android --flutter-version=3.47.9
```

Any patches created with this release will be built with the version of Flutter used by the release.

Note

Only the release command supports the `--flutter-version` option. Patches will always be built with the version of Flutter used by the release.

### Match the Flutter version you already use

As of Shorebird 1.6.123, if you manage Flutter with [fvm](https://fvm.app), or you just want Shorebird to follow the `flutter` on your `PATH`, `--flutter-version` accepts two aliases so you don’t have to repeat the version number:

```
# Use the version fvm resolves for this project (from its .fvmrc).
shorebird release android --flutter-version=fvm

# Use the version reported by the `flutter` on your PATH.
shorebird release android --flutter-version=system
```

Shorebird resolves the alias to a version number, then builds with Shorebird’s fork of Flutter at that version. It does not build with your fvm or system Flutter install, so the version still has to be one Shorebird supports.

Shorebird prints the version it resolved before it starts building, so you can check it against the one you expected:

```
Using Flutter 3.47.9, as reported by `fvm`.
```

Note

`--flutter-version=fvm` requires `fvm` on your `PATH`. Shorebird first asks fvm what your project pins in its `.fvmrc`. If that pin is a version number, the answer comes back immediately. If it’s a channel like `stable`, or a fork ref, Shorebird falls back to running `fvm flutter --version`, which may have to install that Flutter first and can take several minutes.

`--flutter-version=system` requires `flutter` on your `PATH`. If Shorebird is your only Flutter install, you won’t have one: Shorebird’s private copy lives in `~/.shorebird/bin/cache/flutter` and [should not be added to your PATH](/flutter-concepts/how-to-install-flutter). Pass an explicit version number instead.

### Flutter version notes

To help you avoid hidden pitfalls, Shorebird maintains version notes on Flutter releases that have known issues affecting releasing apps or patching. Check here before upgrading or deploying.

* November 2, 2026: In releases built with Flutter 3.47.9 or newer (the default in Shorebird 1.6.135 and newer), patch checks and downloads on iOS, macOS and Android go through the platform’s own HTTP stack. The device’s proxy and VPN settings, your Android Network Security Config, and App Transport Security on iOS and macOS now apply to them. If your app restricts network traffic or pins certificates, see [Your users are behind a proxy or VPN](/system/firewalls-and-mirrors/#your-users-are-behind-a-proxy-or-vpn).
* November 2, 2026: On iOS, building a release with Xcode 27 and Flutter 3.47.5 to 3.47.9 writes a `--split-debug-info` symbol file with no Dart debug info, so Dart frames in crash reports have no function names. Shorebird 1.6.135 and newer warn when this happens. Run `flutter clean` and build iOS releases with Xcode 26. See [Dart symbols for obfuscated builds](/code-push/crash-reporting/uploading-symbols/#dart-symbols-for-obfuscated-builds).
* October 25, 2026: Shorebird’s builds of Flutter 3.41.9, 3.44.0 to 3.44.9, and 3.47.0 to 3.47.7 skip the patch signature check entirely when `shorebird.yaml` sets `patch_verification: install_only`. Shorebird 1.6.132 and newer refuse to release with that combination. The default, `strict`, is unaffected. Remove `install_only`, or release with 3.47.8 or newer. A release already built this way keeps installing patches without checking their signatures; changing `shorebird.yaml` only protects new releases. See [Patch signing trade-offs](/code-push/guides/patch-signing/#trade-offs).
* October 23, 2026: Shorebird 1.6.131 and later require Flutter 3.24.0 or newer to create Android and iOS releases. Patching existing releases is unchanged.
* October 11, 2026: On macOS, patches install on an app that was re-signed after release (Developer ID, or Apple’s re-signing for the Mac App Store) only when the release was built with Flutter 3.47.7 at revision `5bef02a` or later (the default since Shorebird 1.6.128), or any newer Flutter. Shorebird 1.6.126 and 1.6.127 ship 3.47.7 at revision `9a88102`, which doesn’t have the fix, so check the revision with `shorebird releases info`. A release built without the fix needs a new release. See [Notarize a macOS app](/code-push/release/#notarize-a-macos-app).
* August 18, 2026: Flutter 3.47.0 (Shorebird 1.6.118) and newer require Gradle 8.14, Android Gradle Plugin 8.11.1 and Kotlin 2.2.20 to build for Android. Older versions, which earlier Flutter versions only warned about, now fail the build. See [Android build fails with “lower than Flutter’s minimum supported version”](/code-push/troubleshooting/#android-build-fails-with-lower-than-flutters-minimum-supported-version).
* August 14, 2026: On iOS, releases built with Flutter 3.44.0 through 3.44.8, or with an early 3.44.9 build (revision `c2515c46c7`), can crash once a patch installs. Shorebird 1.6.117 (Flutter 3.44.9 at `0cae2fc0a4`) shipped fixes for these crashes. A patch can’t fix an affected release; it needs a new release. See [App crashes after a patch installs](/code-push/troubleshooting/#app-crashes-after-a-patch-installs).
* November 18, 2025: Shorebird has skipped support for 3.38.0 given [an issue with the pinned Dart version](https://github.com/flutter/flutter/issues/178400). If you’re using 3.38 please ensure you are at least on 3.38.1 or higher.
* November 17, 2025: On Android, releases built with Flutter 3.24.0 or earlier, or with Shorebird 1.3.0 or earlier, can uninstall patches in error. Shorebird 1.3.1 fixed this for Flutter 3.24.1 and later. Shorebird still accepts 3.24.0 for new releases, but on Android use 3.24.1 or later.
* September 23, 2025: Shorebird found and [fixed an issue](https://github.com/shorebirdtech/shorebird/pull/3327) with a version mismatch between Flutter & Dart. This affects Flutter 3.35.3. If you are using 3.35.3, re-release with Flutter 3.35.4.
* August 26, 2025: Shorebird has skipped support for 3.35.0 and 3.35.1 and has fast-forwarded to 3.35.2. If you’re using the 3.35.x release, please ensure you’re using at least 3.35.2.
* August 7, 2025: There is a potential crash bug present in all versions of Flutter 3.11.x to 3.29.1, when using “async” ffi calls (via NativeCallable). The crash was identified in spring of 2025 when package:ffigen (the package used to generate ffi calls) changed its default behavior to use NativeCallable. Shorebird recommends all apps use Flutter 3.29.1 or later if possible or carefully control their dependencies to avoid using recent versions of ffigen or packages generated with ffigen.
* June 11, 2024: Shorebird has disabled releasing and patching for iOS on Flutter versions 3.19.5 - 3.22.1 due to a bug where “try/catch” clauses would not always run the “catch” block after an exception was thrown. This bug only affected iOS apps after patching.
* April 8, 2024: Shorebird has disabled releasing new versions for iOS on Flutter versions 3.10.6 - 3.19.4 due to various crashes found in previous iOS releases. iOS releases built with these versions can no longer be patched either: patching an iOS release needs one built with Flutter 3.22.2 or later.
