fvm 4.0.0-beta.1
fvm: ^4.0.0-beta.1 copied to clipboard
A simple cli to manage Flutter SDK versions per project. Support channels, releases, and local cache for fast switching between versions.
4.0.0-beta.1 #
- add: Automatic Melos integration - FVM now automatically manages the
sdkPathinmelos.yamlwhen runningfvm use - add:
updateMelosSettingsconfiguration option to control Melos integration per project - add: Smart detection of existing Melos configurations with appropriate warnings
- add: Runtime deprecation warnings for unsupported environment variables
- add: Legacy support for
FVM_HOMEenvironment variable as fallback whenFVM_CACHE_PATHis not set - fix: Enhanced environment variable processing logic in AppConfigService
- add: Improved error messaging for deprecated
FVM_GIT_CACHEenvironment variable - add: Better environment variable precedence handling with clear fallback behavior
3.2.1 #
- fix:
--fvm-skip-inputflag not applying to context - add:
fvm listnow displays the cache path even if no version is installed
3.2.0 #
- add: support for skipping input requests by @Rexios80. Input requests are skipped when the
--fvm-skip-inputflag is passed. - add: documentation for command rerouting by @humblerookie
- fix(cosmetics): fvm has one newline too much by @jonasbadstuebner
- fix: unsupported architecture on arm64 by @MrCyjaneK
- add: tags for Docker deployment by @CodeRedDev
- add: Validate if git is installed by @leoafarias
- add: Disable local mirror on exception by @leoafarias
3.1.7 #
- Display the configured version in the
fvm listcommand by @digoreis - Handle progress printer exceptions by @leoafarias
3.1.6 #
- Improved messages when nested .fvmrc file is found.
- Better error handling for .git directory check.
3.1.5 #
- Improved mirror creation logging
3.1.4 #
- Disable git cache on CI environment by @leoafarias
- Add force flag to global command by @Rexios80
- Adds trailing space to version prompt by @pastrefvm/pull/705
3.1.3 #
- Fixed: Version weight handles custom versions properly by @quyenvsp
- Remove requirement for pubspec at the root for monorepos by @leoafarias
3.1.2 #
- Fixed:
fvm api contextcommand not been parsed correctly by @leoafarias
3.1.1 #
- Fixed: Empty flavors map been added to the project config by @leoafarias
3.1.0 #
- Initial release of JSON API, allows for better integration of third-party tools and CI/CD workflows.
3.0.14 #
- Improvement: versioned brew formulae by @leoafarias
- Added: cli completion by @leoafarias
- Improvement: Use posix path by @leoafarias
- Fixed: links in FAQ by @Pavel-Sulimau
- Fixed: forward configured flavors by @mrgnhnt96
- Added: destroy command by @leoafarias
- Added: install.sh scripts @leoafarias
3.0.13 #
- Added:
fvm use [version] --forcenow skips install confirmation prompt by @mrgnhnt96 - Added: Added flag to skip pub get on
installanduse,--skip-pub-getby @mrgnhnt96 - Improvement: CI Flag now skips check update by @leoafarias
- Fix: Improve App Config and Project Config overrides by @leoafarias
- Fix: Incorrect check version update logic by @leoafarias
- Improvement: Better exception handling during mirror creation by @leoafarias
- Improvement: Added warning when .fvmrc is found but not pubspec.yaml by @leoafarias
3.0.12 #
3.0.11 #
- Removed
fvm updatecommand. Due to issue with brew and chocolatey install.
3.0.9 #
- Adds .gitignore even if project is not a git repository. As IDEs and tools use it as a reference for project indexing.
3.0.8 #
3.0.7 #
fvm use [version]andfvm installnow also create legacyfvm_config.jsonfile for easier 3.0 migration path.- However
fvm_config.jsonis now deprecated in favor of.fvmrcfile. FVM will migrate it automatically.
3.0.6 #
fvm fluttercommand falls back to global fvm version if version not found in directory.
3.0.4 #
- VsCode settings now supports jsonc (comments, trailing comma)
- Change flutter project check to only check for pubspec.yaml
fvm installcommand not creating sdk reference #618
3.0.3 #
- Added check on update command for homebrew and chocolatey deployment.
3.0.2 #
- Removed validation for long commit hashes. FVM will now accept any length hash that git can return as a reference.
3.0.1 #
- Fixed Dart SDK download on brew installations.
- Do not ask for setup flow on VSCode if not detected.
3.0.0 #
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 you can just use
fluttercommands 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 "unprivileged" mode. If you choose to run
fvmin unprivileged mode, it will not require admin rights to run; however, local Flutter SDK project references will be absolute paths instead of relative links.
Improvements #
- Much improved DX with better error messages and logging, and more helpful information and how to proceed.
- Color output when using
fvm fluttercommand proxy. - Better SDK switching workflow per project. Handle more edge cases, by doing SDK comparisons.
- Better
fvm doctorcommand. 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 releasesoutput. - Improved
fvm listoutput. - Better error checking for
fvm globalcommand. - FVM update check now runs only once a day.
- You can disable update check with the
--update-checkflag onfvm config
Changed #
- Command
fvm releasesnow defaults tostablechannel. Use--allflag 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
.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. Might be deprecated in the future sinceenvhas become a better description for environment specific settings thanflavor. - When installing or using a Flutter repo
commit hash, hash needs to be 10 digits. FVM will now validate it and provide the correct hash if it can.
Breaking Changes #
- Default FVM config 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- Will not setup by default. Use--setupflag to setup Flutter SDK. Flag--skip-setupis removed.fvm releases- Defaults tostablereleases. Use--allflag 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-setupflag to skip setup.- Environment variables
FVM_HOMEis nowFVM_CACHE_PATH. - Environment variables
FVM_GIT_CACHEis nowFVM_FLUTTER_URL.
2.4.1 - 2022-07-06 #
- Filter out Mac releases based on architecture.
2.4.0 - 2022-07-05 #
- Upgraded minimum Dart version to 2.17.0 for better Flutter 3.0 compatibility.
2.3.1 - 2022-04-07 #
- Updated Flutter releases endpoint.
2.3.0 - 2022-04-06 #
- Implemented
fvm execcommand. Execute terminal commands with the configured Flutter/Dart SDK version in the environment. fvm usecommand will install configured version by default if no version is provided.
2.2.6 - 2021-12-14 #
- Fixed an issue with routing to older Dart SDK directory path (before 1.17.5).
2.2.5 - 2021-12-09 #
- Clean
dartcommand outputstdoutIssue #361. - Better experience when running
dart pub cache repairIssue #352. - Dart proxy points to the correct path when version is older than 1.20.0 Issue #348.
- Flavors sequence of command causes
nullcheck exception Issue #358.
2.2.4 - 2021-11-09 #
- Ensures SDK is setup when running
usecommand.
2.2.3 - 2021-08-31 #
- Fix archive URL from release info.
2.2.2 - 2021-06-18 #
- Small fix when checking for upgrade.
2.2.1 - 2021-06-18 #
- Fixed an edge case when running
fluttercommand with--no-version-checkflag.
2.2.0 - 2021-06-17 #
- Resolves channel unknown when pulling release version.
- Allows for release install of different channels Read more.
2.1.1 - 2021-06-16 #
- Removed Flutter version validation check.
- Offline support.
2.1.0 - 2021-06-14 #
- Removed Windows permission check.
2.0.7 - 2021-06-14 #
- Updated Flutter releases URL.
2.0.6 - 2021-06-02 #
- Added a fallback if Flutter Release API is down.
2.0.5 - 2021-05-19 #
- Fixed concurrent Flutter commands execution on monorepos Issue #296.
- Added
cli_notifyto check for new version updates.
2.0.4 - 2021-05-06 #
- FVM only outputs information about version running when using
--verboseflag #288.
2.0.3 - 2021-05-04 #
- Fixed monorepo compatibility Issue #285.
2.0.2 - 2021-05-04 #
- Fixed a regression when running
fvm installcommand.
2.0.1 - 2021-05-01 #
- Fix issue when retrieving settings Issue #281.
2.0.0 - 2021-05-01 #
- 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
--globalflag. - 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.
1.3.8 - 2021-03-26 #
- Fixed an issue on FVM install Issue #242.
- Fixed an Auto linking issue Issue #207.
1.3.7 - 2020-12-18 #
- Fixed an issue for unwanted delay appearing after running
fvm usecommand #195.
1.3.6 - 2020-10-29 #
- Improvement: Added
PATHenv on Flutter processes for better third-party tooling support. - Fix: Updated Grinder dependencies.
- Fix: Better ancestor lookup logic for monorepo setups. Issue #180.
1.3.5+1 - 2020-10-29 #
- Added symlink on install behavior without version.
- Clean-up.
1.3.4 - 2020-10-15 #
- Better support for CI and custom workflows using
fvm flutter ...commands.
1.3.3 - 2020-10-14 #
- Fixed an error when setting up on some platforms and tools Issue #160.
1.3.2 - 2020-10-13 #
- Better logging for Flutter setup.
1.3.1 - 2020-10-11 #
- Fix issue when running
installcommand with pinned version Issue #161.
1.3.0 - 2020-07-16 #
- Bug fixes and improvements.
- Implemented ability to change
cachePathon settings Issue #101. - Improved UX with
flutter runcommand Issue #124. - Added a notice on Windows to run in developer or administrator mode.
- Ability to set Flutter Git Repo URL (Advanced).
1.2.3 - 2020-08-22 #
- Clone setting changes. Unexpected behavior when installing master in some cases.
1.2.2 - 2020-08-19 #
- Updated process_run dependency (Issue #113).
1.2.0 - 2020-08-16 #
Usecommand now shows the installed version if no 'version' is passed.- Improved exception message handling.
1.1.9 - 2020-08-15 #
- Improvements on
flutterchannels parsing.
1.1.8 - 2020-08-14 #
- Fix for shared releases between channels.
1.1.7 - 2020-08-12 #
- Changed version on builder.
1.1.6 - 2020-08-12 #
- Better support for Windows.
1.1.5 - 2020-07-27 #
- Added a message with notice and fix if Flutter releases URL is blocked in your country.
1.1.4 - 2020-07-27 #
- Nested FVM config look up; to be used on monorepo projects or nested directories.
- Added a link to changelog on upgrade message.
1.1.3 - 2020-07-17 #
- Removed Flutter project guard from
flutterproxy command.
1.1.2 - 2020-07-17 #
- Added upgrade message if not running the latest
fvmversion.
1.1.1 - 2020-07-17 #
- Static analysis and Dart convention notes added to README.md.
1.1.0 - 2020-07-16 #
- Implemented
--forceflag onusecommand to bypass guards if needed. - Set where
fvmcaches versions usingFVM_HOMEenvironment variable. - Deprecated
--cache-pathflag in favor ofFVM_HOME.
1.0.4 - 2020-07-02 #
- Indicates global version on
listcommand.
1.0.3 - 2020-07-02 #
- Fixed an issue with
stdinon Flutter CLI commands.
1.0.2 - 2020-06-23 #
- Indicates channels on
fvm releasescommand.
1.0.1 - 2020-06-22 #
- Suppress verbose message for install progress.
1.0.0 - 2020-06-22 #
- List Flutter Releases functionality.
- Bug fixes and optimizations.
- Project refactoring.
0.8.3 - 2020-06-20 #
- Installation progress output.
- Flutter setup on installation.
- Ability to skip setup with
--skip-setupflag.
0.8.2 - 2020-06-19 #
- Size optimization of Flutter SDK downloads.
- Code clean-up.
0.8.1 - 2020-06-19 #
- Fixed
listcommand when project has no config.
0.8.0 - 2020-06-18 #
- Implemented
--globalflag to set a specific version globally. - Changed project configuration to allow for versioning.
- Refactoring and project clean-up.
- Better user experience.
- Improved error messages.
0.7.2 - 2020-06-18 #
- Better compatibility with Flutter CLI commands.
0.7.1 - 2020-06-18 #
- Updated
versionconstant.
0.7.0 - 2020-04-14 #
- 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-pathwill change, potentially breaking projects that rely on theinstall-path. Theinstall-pathwill change from~/fvm/versions/1.15.17to~/fvm/versions/v1.15.17(notice the lettervin the new version directory name). Make sure to change this in your IDE configuration.
0.6.7 - 2019-12-26 #
- Added
versioncommand to see currently installedfvmversion.
0.6.6 - 2019-11-08 #
- Better Flutter CLI commands compatibility.
- Improved error logging and
--verboseflag behavior. - Friendlier error messages.
0.6.5 - 2019-11-08 #
- Better Error handling and friendlier error messages.
0.6.4 - 2019-11-08 #
- Project clean-up and tweaks for better
pubanalysis.
0.6.3 - 2019-11-07 #
- Initial stable version rewritten in Dart.