Added
- Tighter VSCode integration, with configuration and settings management. FVM will now automatically configure VSCode to use the correct Flutter SDK version, triggering a terminal path update so that you can use
flutter, commands instead offvm flutter - Git Flutter repository mirroring for faster cloning of new versions.
- Added a check in .gitignore for the '.fvm' directory and auto-add it if necessary.
- I added verification if the cached Flutter SDK has been upgraded and provided options for corrective actions.
- Added a check for Flutter SDK constraints for compatibility with the current project.
- Improved FVM configuration management and settings.
- Ability to override FVM settings on a per-project basis.
- Windows "unprivileged" mode. If you run
fvmin unprivileged mode, it will not require admin rights. However, local Flutter SDK project references will be absolute paths instead of relative links.
Improvements
- Much improved DX with better error messages, logging, and more helpful information on how to proceed.
- Color output when using the
fvm fluttercommand proxy. - Better SDK switching workflow per project. Handle more edge cases by doing SDK comparisons.
- Better
fvm doctorcommand. Now, it provides much better output and information about the project and environment. - Better Dart SDK environment support, minimizes conflicts between multiple environment Dart SDKs.
- Improved
fvm releasesoutput. - Improved
fvm listoutput. - Better error checking for the
fvm globalcommand. - The FVM update check now runs only once a day.
- You can turn off the update check with the
--update-checkflag onfvm config.
Changed
The command fvm releases now defaults to the stable channel. Use the --all flag to see all releases or filter by channel.
- Removed "flavor" command in favor of
fvm use {flavor}. - Removed "destroy" command in favor of
fvm remove --all.
The Configuration file is now.fvmrcinstead of.fvm/fvm_config.json,and.fvmcan be added to.gitignore.FVM will migrate it automatically. - You can now use
fvm use {version} --env {flavor}as an alias forflavor. It might be deprecated sinceenvhas become a better description for environment-specific settings thanflavor. - When installing or using a Flutter repo
commit hash,the hash must be ten digits. FVM will now validate it and provide the correct hash if it can.
Breaking Changes
- The default FVM configuration location is now
.fvmrcinstead of.fvm/fvm_config.json.FVM will migrate it automatically. However,.fvmshould be ignored; if you depend onfvm_config.jsonin your tools or CI, you should update your configuration. fvm install- This will not be set up by default. Use the--setupflag to set up Flutter SDK. The flag--skip-setupis removed.fvm releases- Defaults tostablereleases. Use the--allflag to see all releases, or filter by channel using--channel {channel}.fvm flavor- Removed in favor offvm use {flavor}.fvm use- Will always be set up by default. Use the--skip-setupflag to skip setup.- Environment variables
FVM_HOMEis nowFVM_CACHE_PATH. - Environment variables
FVM_GIT_CACHEis nowFVM_FLUTTER_URL.
See the full changelog for changes in earlier releases.