PackageTrack
Sign in Get early access

fvm

A simple cli to manage Flutter SDK versions per project. Support channels, releases, and local cache for fast switching between versions.

4.2.0 171K downloads/mo #910 most downloaded on pub.dev leoafarias/fvm

What this package is like to depend on

Last release today

23 Aug 2026

Release timing varies

gaps range from 8 days to 10 months

Nearly every release is documented

notes for 97 of 107 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

142 releases · first in 2019

13 releases in the last 12 months

see the full history below

Release timeline

142 releases · Oct 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 142
  1. 4.2.0 23 Aug 2026
    Release notes
    • feat: add a Projects column to fvm list that shows how many known projects pin each cached SDK. Versions that no known project pins and that are not selected globally are labeled Unused. FVM records projects after fvm use or fvm install and reads their current .fvmrc values when listing
    • feat: expose the project roots used for SDK classification and the resulting unused versions through fvm api list as projects and unreferencedVersions
    • fix: correctly match forked channel pins such as myfork/3.24.0@beta to the installed myfork/3.24.0 SDK in the Local and Projects columns

    See the full changelog for changes in earlier releases.

    Open source →
    Release notes
    • feat: add a Projects column to fvm list that shows how many known projects pin each cached SDK. Versions that no known project pins and that are not selected globally are labeled Unused. FVM records projects after fvm use or fvm install and reads their current .fvmrc values when listing
    • feat: expose the project roots used for SDK classification and the resulting unused versions through fvm api list as projects and unreferencedVersions
    • fix: correctly match forked channel pins such as myfork/3.24.0@beta to the installed myfork/3.24.0 SDK in the Local and Projects columns
    Open source →
  2. 4.1.5 22 Aug 2026
    Release notes

    chore: prepare v4.1.5 release (#1067)

    Open source →
    Release notes
    • perf: skip git-cache maintenance when running Flutter or Dart through an already-installed SDK (#1066)

    See the full changelog for changes in earlier releases.

    Open source →
    Release notes
    • perf: skip git-cache maintenance when running Flutter or Dart through an already-installed SDK (#1066)
    Open source →
  3. 4.1.4 19 Aug 2026
    Release notes
    • fix: stop git-cache maintenance from running destructive git commands against repositories FVM does not own (#1060)
    • Behavior change: FVM now clears repository-scoped git environment variables (GIT_DIR, GIT_WORK_TREE, GIT_INDEX_FILE, and the rest of the git rev-parse --local-env-vars set) when it runs git, flutter, or dart. Tools launched through FVM from inside a git hook, such as fvm dart run in a pre-commit hook, no longer see the hook's repository variables and will read the real index instead of the hook's staged index. Transport and auth variables like GIT_SSH_COMMAND and GIT_ASKPASS are preserved. (#1060)

    See the full changelog for changes in earlier releases.

    Open source →
    Release notes
    • docs: record how the repo migration broke the release pipeline

    Moving the repository between accounts left the release tool naming an
    owner that only redirected. GitHub keeps those redirects alive, and
    cli_pkg does not follow them on POST, so pkg-github-release failed with
    307 Moved Permanently after every test job had already passed and the
    v4.1.3 deploy published nothing.

    The repository is back on leoafarias, so the owner constant itself is
    correct and unchanged here. This only records why it is load-bearing, so
    the next account move updates it deliberately instead of rediscovering
    this through a failed release.

    • chore: prepare v4.1.4 release

    The 4.1.3 tag never published anything: the deploy failed at the GitHub
    release step because the repository had moved accounts, so pub.dev,
    Homebrew, Chocolatey, Docker and the binaries were all skipped. Releasing
    the same changes as 4.1.4 rather than reusing the unpublished 4.1.3 tag.

    Open source →
    Release notes
    • fix: stop git-cache maintenance from running destructive git commands against repositories FVM does not own (#1060)
    • Behavior change: FVM now clears repository-scoped git environment variables (GIT_DIR, GIT_WORK_TREE, GIT_INDEX_FILE, and the rest of the git rev-parse --local-env-vars set) when it runs git, flutter, or dart. Tools launched through FVM from inside a git hook, such as fvm dart run in a pre-commit hook, no longer see the hook's repository variables and will read the real index instead of the hook's staged index. Transport and auth variables like GIT_SSH_COMMAND and GIT_ASKPASS are preserved. (#1060)
    Open source →
  4. 4.1.2 25 Jun 2026
    Release notes
    • fix: stop rebuilding the git cache on every command when macOS leaves .DS_Store files in it (#1043)

    See the full changelog for changes in earlier releases.

    Open source →
    Release notes

    Bumps version to 4.1.2 and finalizes the CHANGELOG.

    • fix: stop rebuilding the git cache on every command when macOS leaves .DS_Store files in it (#1043)
    Open source →
    Release notes
    • fix: stop rebuilding the git cache on every command when macOS leaves .DS_Store files in it (#1043)
    Open source →
  5. 4.1.1 16 Jun 2026
    Release notes
    • fix: prevent git cache bloat and stale SDK installs caused by outdated cache clones (#1037)
    • fix: fall back to safe defaults instead of hanging when prompts run without an interactive terminal, like CI or git hooks (#1036)
    • fix: stop false Flutter version-mismatch prompts when a project uses its own calendar-style git tags (#1033)

    See the full changelog for changes in earlier releases.

    Open source →
    Release notes
    • fix: prevent git cache bloat and stale SDK installs caused by outdated cache clones (#1037)
    • fix: fall back to safe defaults instead of hanging when prompts run without an interactive terminal, like CI or git hooks (#1036)
    • fix: stop false Flutter version-mismatch prompts when a project uses its own calendar-style git tags (#1033)
    Open source →
  6. 4.1.0 05 May 2026
    Release notes
    • feat: opt out of update checks for quieter CI and offline runs (#994)
    • feat: keep working with cached SDKs even when Flutter drops the version file (#997)
    • perf: faster installs and smaller disk usage with a leaner git cache (one-time repack on upgrade) (#1018)
    • fix: stop forked versions from getting mixed up in the global cache (#995)
    • fix: more reliable concurrent FVM commands (#1002)
    • chore: cleanup cache handling and release parsing (#1005)
    Open source →
  7. 4.0.5 19 Dec 2025
    Release notes
    • feat: migrate install script to v2 with user-local default install (#967)
    • fix: disable auto-install of shell completions for Nix/Home Manager environments (#991)
    • fix: support legacy .fvm/fvm_config.json file loading (#996)
    • fix: improve PATH guidance for CI installs (#999)
    Open source →
  8. 4.0.4 05 Dec 2025
    Release notes
    • fix: remove leading newline from fvm dart/flutter output
    • fix: read or write cache with fork version by @huanghui1998hhh
    Open source →
  9. 4.0.3 05 Dec 2025
    Release notes
    • fix: preserve all project settings on fvm install
    Open source →
  10. 4.0.2 04 Dec 2025
    Release notes
    • fix: version detection for Flutter 3.38+ (version file removal)
    • fix: filter hidden directories from cache version listing
    • fix: route conflict in documentation site navigation
    • docs: improve Android Studio/IntelliJ IDE configuration guide
    Open source →
  11. 4.0.1 05 Nov 2025
    Release notes
    • add: fvm install now runs setup by default
    • add: RISC-V and 32-bit ARM architecture support
    • add: SSH and scp-style git URL support for forks
    • add: Standalone executables for host platform
    • fix: fvm doctor crash when version not pinned
    • fix: Alpine/musl libc detection in install script
    • fix: Version prefix normalization in install script
    • fix: Pre-push PATH hook auto-detects Flutter/Dart
    • fix: Cache version matching logic
    • fix: Uninstall script, git logging, and HTTP error handling
    • fix: Code quality and analysis warnings
    • docs: Git safe directory troubleshooting for Windows
    • docs: PATH configuration for global version
    • refactor: Migrate release tooling to dedicated package
    Open source →
  12. 4.0.0 30 Oct 2025
    Release notes
    • add: Manage Flutter SDKs from custom or forked repositories
    • add: Automatic Melos integration - FVM automatically manages sdkPath in melos.yaml
    • add: updateMelosSettings configuration option to control Melos integration per project
    • fix: Enhanced environment variable processing logic
    • fix: Better environment variable precedence handling
    Open source →
  13. 4.0.0-beta.2 07 Oct 2025 pre-release

    Nothing published for this version

  14. 4.0.0-beta.1 12 Jun 2025 pre-release

    Nothing published for this version

  15. 3.2.1 26 Aug 2024
    Release notes
    • fix: --fvm-skip-input flag not applying to context
    • add: fvm list now displays the cache path even if no version is installed
    Open source →
  16. 3.2.0 25 Aug 2024
    Release notes
    • add: support for skipping input requests by @Rexios80. Input requests are skipped when the --fvm-skip-input flag 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
    Open source →
  17. 3.1.7 04 Jun 2024
    Release notes
    • Display the configured version in the fvm list command by @digoreis
    • Handle progress printer exceptions by @leoafarias
    Open source →
  18. 3.1.6 31 May 2024
    Release notes
    • Improved messages when nested .fvmrc file is found.
    • Better error handling for .git directory check.
    Open source →
  19. 3.1.5 28 May 2024
    Release notes
    • Improved mirror creation logging
    Open source →
  20. 3.1.4 23 Apr 2024
    Release notes
    • 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
    Open source →
  21. 3.1.3 27 Mar 2024
    Release notes
    • Fixed: Version weight handles custom versions properly by @quyenvsp
    • Remove requirement for pubspec at the root for monorepos by @leoafarias
    Open source →
  22. 3.1.2 26 Mar 2024
    Release notes
    • Fixed: fvm api context command not been parsed correctly by @leoafarias
    Open source →
  23. 3.1.1 20 Mar 2024
    Release notes
    • Fixed: Empty flavors map been added to the project config by @leoafarias
    Open source →
  24. 3.1.0 19 Mar 2024
    Release notes
    • Initial release of JSON API, allows for better integration of third-party tools and CI/CD workflows.
    Open source →
  25. 3.0.14 13 Mar 2024
    Release notes
    • 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
    Open source →
  26. 3.0.13 06 Mar 2024
    Release notes
    • Added: fvm use [version] --force now skips install confirmation prompt by @mrgnhnt96
    • Added: Added flag to skip pub get on install and use, --skip-pub-get by @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
    Open source →
  27. 3.0.12 27 Feb 2024
    Release notes
    • Adds skipping version mismatch handling when using force or running with a custom fvm version. #653
    • Fixes parsing error of vscode settings when there are commas #656
    • Sets global as first default if Dart SDK is not found in the project.
    Open source →
  28. 3.0.11 24 Feb 2024
    Release notes
    • Removed fvm update command. Due to issue with brew and chocolatey install.
    Open source →
  29. 3.0.10 23 Feb 2024
    Release notes
    • Fixed issue when config is found in directory no pubspec.yaml. #638
    Open source →
  30. 3.0.9 23 Feb 2024
    Release notes
    • Adds .gitignore even if project is not a git repository. As IDEs and tools use it as a reference for project indexing.
    Open source →
  31. 3.0.8 22 Feb 2024
    Release notes
    • Implemented better validation checks for flavors #639
    • Added flag to unlink global version fvm global --unlink #619
    Open source →
  32. 3.0.7 19 Feb 2024
    Release notes
    • fvm use [version] and fvm install now also create legacy fvm_config.json file for easier 3.0 migration path.
    • However fvm_config.json is now deprecated in favor of .fvmrc file. FVM will migrate it automatically.
    Open source →
  33. 3.0.6 16 Feb 2024
    Release notes
    • fvm flutter command falls back to global fvm version if version not found in directory.
    Open source →
  34. 3.0.5 16 Feb 2024
    Release notes
    • Added fallback when cannot validate Flutter SDK version using git tags. #627
    Open source →
  35. 3.0.4 16 Feb 2024
    Release notes
    • VsCode settings now supports jsonc (comments, trailing comma)
    • Change flutter project check to only check for pubspec.yaml
    • fvm install command not creating sdk reference #618
    Open source →
  36. 3.0.3 14 Feb 2024
    Release notes
    • Added check on update command for homebrew and chocolatey deployment.
    Open source →
  37. 3.0.2 13 Feb 2024
    Release notes
    • Removed validation for long commit hashes. FVM will now accept any length hash that git can return as a reference.
    Open source →
  38. 3.0.1 12 Feb 2024
    Release notes
    • Fixed Dart SDK download on brew installations.
    • Do not ask for setup flow on VSCode if not detected.
    Open source →
  39. 3.0.0 09 Feb 2024
    Release notes

    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 flutter commands instead of fvm 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 fvm in 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 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 on fvm config

    Changed

    • Command fvm releases now defaults to stable 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 for flavor. Might be deprecated in the future since env has become a better description for environment specific settings than flavor.
    • 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 .fvmrc instead of .fvm/fvm_config.json. FVM will migrate it automatically. However .fvm should be ignored, if you depend on fvm_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 to stable releases. Use --all flag to see all releases, or filter by channel using --channel {channel}.
    • fvm flavor - Removed in favor of fvm use {flavor}.
    • fvm use - Will always setup by default. Use --skip-setup flag to skip setup.
    • Environment variables FVM_HOME is now FVM_CACHE_PATH.
    • Environment variables FVM_GIT_CACHE is now FVM_FLUTTER_URL.
    Open source →
  40. 3.0.0-beta.5 04 Oct 2023 pre-release

    Nothing published for this version

  41. 3.0.0-beta.4 03 Oct 2023 pre-release

    Nothing published for this version

  42. 3.0.0-beta.3 03 Oct 2023 pre-release

    Nothing published for this version

  43. 3.0.0-beta.2 29 Sep 2023 pre-release

    Nothing published for this version

  44. 3.0.0-beta.1 28 Sep 2023 pre-release

    Nothing published for this version

  45. 2.4.1 06 Jul 2022
    Release notes
    • Filter out Mac releases based on architecture.
    Open source →
  46. 2.4.0 05 Jul 2022
    Release notes
    • Upgraded minimum Dart version to 2.17.0 for better Flutter 3.0 compatibility.
    Open source →
  47. 2.3.1 07 Apr 2022
    Release notes
    • Updated Flutter releases endpoint.
    Open source →
  48. 2.3.0 06 Apr 2022
    Release notes
    • 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.
    Open source →
  49. 2.3.0-dev.0 11 Mar 2022 pre-release

    Nothing published for this version

  50. 2.2.6 14 Dec 2021
    Release notes
    • Fixed an issue with routing to older Dart SDK directory path (before 1.17.5).
    Open source →
  51. 2.2.5 09 Dec 2021
    Release notes
    • Clean dart command output stdout 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.
    Open source →
  52. 2.2.5-dev.4 30 Nov 2021 pre-release

    Nothing published for this version

  53. 2.2.5-dev.3 30 Nov 2021 pre-release

    Nothing published for this version

  54. 2.2.5-dev.2 30 Nov 2021 pre-release

    Nothing published for this version

  55. 2.2.5-dev.1 30 Nov 2021 pre-release

    Nothing published for this version

  56. 2.2.4 09 Nov 2021
    Release notes
    • Ensures SDK is setup when running use command.
    Open source →
  57. 2.2.3 31 Aug 2021
    Release notes
    • Fix archive URL from release info.
    Open source →
  58. 2.2.2 18 Jun 2021
    Release notes
    • Small fix when checking for upgrade.
    Open source →
  59. 2.2.1 18 Jun 2021
    Release notes
    • Fixed an edge case when running flutter command with --no-version-check flag.
    Open source →
  60. 2.2.0 17 Jun 2021
    Release notes
    • Resolves channel unknown when pulling release version.
    • Allows for release install of different channels Read more.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive