fvm
FVM manages Flutter SDK versions per project. Switch between Flutter versions instantly without reinstalling, making it easy to test new releases and maintain consistent builds across your team.
Why FVM?
- Need for simultaneous use of multiple Flutter SDKs.
- SDK testing requires constant channel switching.
- Channel switches are slow and need repeated reinstalls.
- Difficulty managing the latest successful SDK version used in an app.
- Flutter's major updates demand total app migration.
- Inconsistencies occur in development environments within teams.
For more information, read the Getting Started guide.
Release Process (For Maintainers)
FVM uses GitHub releases to trigger automated deployments across all platforms:
Creating a New Release
-
Ensure main branch is ready
- All changes merged and tested
- Version will be set automatically from release tag
-
Create GitHub Release
- Go to GitHub Releases
- Click "Create a new release"
- Choose tag:
v4.0.0-beta.2(follows semver with 'v' prefix) - Write release notes in GitHub editor
- Click "Publish release"
-
Automated Deployment
release.ymltriggers automatically- Deploys to: pub.dev, GitHub binaries, Homebrew, Chocolatey, Docker
- Monitor progress in Actions tab
Dart SDK requirements: Day-to-day development now targets the repository SDK constraint (
>=3.6.0 <4.0.0). Release automation lives undertool/release_tool/and requires Dart SDK>=3.8.0. CI pins this higher tool chain via theRELEASE_DART_SDKenvironment variable (currently3.9.0) so it matches the versions packaged for Homebrew and other installers. If you run release tasks locally, switch to a Dart SDK3.8.0or newer before executing commands fromtool/release_tool/.
Emergency Releases
For hotfixes or emergency releases:
- Update version manually in
pubspec.yaml - Use individual platform workflows via manual dispatch:
deploy_homebrew.ymlfor Homebrew updatesdeploy_docker.ymlfor Docker deployment- Individual platform deployments as needed
For complete emergency deployment, create a GitHub release as normal.
See Workflow Documentation for detailed information.
Contributors
Checkout Flutter Sidekick. Read more about it here.
Troubleshooting
Please view our FAQ.
License
This project is licensed under the MIT License; see LICENSE file for details.