- Tighter VSCode integration, with configuration and settings management. FVM will now automatically configure VSCode to use the correct Flutter SDK version, triggering a termianl path update, so you can just 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-adding it if necessary.
- Added verification if cached Flutter SDK has been upgraded, and provide options for corrective actions.
- Added a check for Flutter SDK constraints check for compatibility with current project.
- Improved FVM configuration management and settings.
- Ability to override FVM settings on a per project basis.
- Windows "unpriviledge" mode. If you you choose to run
fvm
in unpriviledge mode, it will not require admin rights to run, however local Flutter SDK project references will be absolute paths instead of relative links.
- Much improved DX with better error messages and logging, and more helpful information and how to proceed.
- Color output when using
fvm flutter
command proxy. - Better SDK switching workflow per project. Handle more edge cases, by doing SDK comparisons.
- Better
fvm doctor
command. Now 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 releases
output. - Improved
fvm list
output. - Better error checking for
fvm global
command. - FVM update check now runs only once a day.
- You can disable update check with the
--update-check
flag onfvm config
- Command
fvm releases
now defaults tostable
channel. Use--all
flag to see all releases, or filter by channel. - Removed "flavor" command in favor for
fvm use {flavor}
- Removed "destroy" command in favor of
fvm remove --all
- Config file is now
.fvmrc
instead of.fvm/fvm_config.json
, and.fvm
can be added to.gitignore
, FVM will migrate it automatically. - You can now use
fvm use {version} --env {flavor}
as an alias forflavor
. Might be deprecated in the future sinceenv
has become a better description for environment specific settings thanflavor
. - When installing or using a Flutter repo
commit hash
, hash needs ot be 10 digits. FVM will now validate it, and provide the correct hash if it can.
- Default FVM config location is now
.fvmrc
instead of.fvm/fvm_config.json
. FVM will migrate it automatically. However.fvm
should be ignored, if you depend onfvm_config.json
in your tools or CI, you should update your configuration. fvm install
- Will not setup by default. Use--setup
flag to setup Flutter SDK. Flag--skip-setup
is removed.fvm releases
- Defaults tostable
releases. Use--all
flag to see all releases, or filter by channel using--channel {channel}
.fvm flavor
- Removed in favor offvm use {flavor}
.fvm use
- Will always setup by default. Use--skip-setup
flag to skip setup.- Environment variables
FVM_HOME
is nowFVM_CACHE_PATH
. - Environment variables
FVM_GIT_CACHE
is nowFVM_FLUTTER_URL
.
- Filter out Mac releases based on architecture.
- Upgraded minimum Dart version to 2.17.0 for better Flutter 3.0 compatibility.
- Updated Flutter releases endpoint.
- Implemented
fvm exec
command. Execute terminal commands with the configured Flutter/Dart SDK version in the environment. fvm use
command will install configured version by default if no version is provided.
- Fixed an issue with routing to older Dart SDK directory path (before 1.17.5).
- Clean
dart
command outputstdout
Issue #361. - Better experience when running
dart pub cache repair
Issue #352. - Dart proxy points to the correct path when version is older than 1.20.0 Issue #348.
- Flavors sequence of command causes
null
check exception Issue #358.
- Ensures SDK is setup when running
use
command.
- Fix archive URL from release info.
- Small fix when checking for upgrade.
- Fixed an edge case when running
flutter
command with--no-version-check
flag.
- Resolves channel unknown when pulling release version.
- Allows for release install of different channels Read more.
- Removed Flutter version validation check.
- Offline support.
- Removed Windows permission check.
- Updated Flutter releases URL.
- Added a fallback if Flutter Release API is down.
- Fixed concurrent Flutter commands execution on monorepos Issue #296.
- Added
cli_notify
to check for new version updates.
- FVM only outputs information about version running when using
--verbose
flag #288.
- Fixed monorepo compatibility Issue #285.
- Fixed a regression when running
fvm install
command.
- Fix issue when retrieving settings Issue #281.
- Feature: Environments - Set Flutter SDK versions per project environment.
- Feature: Doctor - Easily view the Flutter SDK version configuration for the project and the configuration state.
- Feature: Spawn - Easily proxy Flutter CLI commands through any cached version.
- Feature: Commits - Ability to install/use commits as the pinned Flutter SDK version.
- Feature: Custom versions - Manage custom Flutter SDK versions by adding
custom_
in front of the version. - Improvements: null-safety.
- Improvements: Global - Create own command to set global versions. Deprecated
--global
flag. - Improvements: Flutter command proxy now defaults to FVM global configured version before looking for one configured on
PATH
. - Improvements: Better error messaging, notifications and logging.
- Improvements: Many quality of life (QoL) improvements.
- Fixed an issue on FVM install Issue #242.
- Fixed an Auto linking issue Issue #207.
- Fixed an issue for unwanted delay appearing after running
fvm use
command #195.
- Improvement: Added
PATH
env on Flutter processs for better third party tooling support. - Fix: Updated Grinder dependencies.
- Fix: Better ancestor lookup logic for monorepo setups. Issue #180.
- Added symlink on install behavior without version.
- Clean-up.
- Better support for CI and custom workflows using
fvm flutter ...
commands.
- Fixed an error when setting up on some platforms and tools Issue #160.
- Better logging for Flutter setup.
- Fix issue when running
install
command with pinned version Issue #161.
- Bug fixes and improvements.
- Implemented ability to change
cachePath
on settings Issue #101. - Improved UX with
flutter run
command Issue #124. - Added a notice on Windows to run in developer or administrator mode.
- Ability to set Flutter Git Repo URL (Advanced).
- Clone setting changes. Unexpected behavior when installing master in some cases.
- Updated process_run dependency (Issue #113).
Use
command now shows the installed version if no 'version' is passed.- Improved exception message handling.
- Improvements on
flutter
channels parsing.
- Fix for shared releases between channels.
- Changed version on builder.
- Better support for Windows.
- Added a message with notice and fix if Flutter releases URL is blocked in your country.
- Nested FVM config look up; to be used on monorepo projects or nested directories.
- Added a link to changelog on upgrade message.
- Removed Flutter project guard from
flutter
proxy command.
- Added upgrade message if not running the latest
fvm
version.
- Static analysis and Dart convention notes added to README.md.
- Implemented
--force
flag onuse
command to bypass guards if needed. - Set where
fvm
caches versions usingFVM_HOME
environment variable. - Deprecated
--cache-path
flag in favor ofFVM_HOME
.
- Indicates global version on
list
command.
- Fixed an issue with
stdin
on Flutter CLI commands.
- Indicates channels on
fvm releases
command.
- Suppress verbose message for install progress.
- List Flutter Releases functionality.
- Bug fixes and optimizations.
- Project refactoring.
- Installation progress output.
- Flutter setup on installation.
- Ability to skip setup with
--skip-setup
flag.
- Size optimization of Flutter SDK downloads.
- Code clean-up.
- Fixed
list
command when project has no config.
- Implemented
--global
flag to set a specific version globally. - Changed project configuration to allow for versioning.
- Refactoring and project clean-up.
- Better user experience.
- Improved error messages.
- Better compatibility with Flutter CLI commands.
- Updated
version
constant.
- Added support for new Flutter 1.17.0+ versioning scheme -
The new versioning scheme includes changes to tag names and thus also version names for FVM. When reinstalling Flutter versions <1.17.0, the FVM
install-path
will change, potentially breaking projects that rely on theinstall-path
. Theinstall-path
will change from~/fvm/versions/1.15.17
to~/fvm/versions/v1.15.17
(notice the letterv
in the new version directory name). Make sure to change this in your IDE configuration.
- Added
version
command to see currently installedfvm
version.
- Better Flutter CLI commands compatibility.
- Improved error logging and
--verbose
flag behavior. - Friendlier error messages.
- Better Error handling and friendlier error messages.
- Project clean-up and tweaks for better
pub
analysis.
- Initial stable version rewritten in Dart.