Tue Jan 27 2026 GVM Contributors (imansprn)
Based on moovweb/gvm - Original work by Josh Bussdieker and contributors
Version: 2.0.0 State: Major Release
CHANGES:
- NEW: Enhanced Go modules support with auto-detection from go.mod and go.work files
- NEW: Configuration file support ($GVM_ROOT/config/gvm.conf) for user preferences
- NEW: Parallel download support with progress indicators and resume capability
- NEW: Caching system for version lists and metadata to improve performance
- NEW: Progress bars and enhanced visual feedback for long-running operations
- NEW: Interactive mode and improved help system with examples
- NEW: Comprehensive documentation (user guide, migration guide, API docs)
- ENHANCED: Better integration with Go workspaces (go.work files)
- ENHANCED: Improved user experience with color-coded output and better error messages
- ENHANCED: Optimized version resolution and environment loading
- ENHANCED: Better download utilities with retry logic and verification
- ENHANCED: Global flags support (--verbose, --quiet, --interactive)
- SECURITY: Removed eval usage in gvmsudo to prevent command injection vulnerabilities
- SECURITY: Added SHA256 checksum verification for binary downloads from go.dev/dl
- SECURITY: Implemented comprehensive input validation for URLs, version names, and file paths
- SECURITY: Fixed command injection vulnerability in alias-list script
- Updated deprecated Google Code references to modern protobuf packages
- Migrated CI/CD from deprecated Travis CI to GitHub Actions
- Fixed macOS version detection to support macOS 11+ (Big Sur and later)
- Standardized error handling with consistent exit codes across all scripts
- Implemented logging framework with automatic rotation and cleanup
- Updated bash practices (replaced deprecated 'which' with 'command -v')
Tue Jan 27 2026 GVM Contributors
Version: 1.0.24 State: Stable
CHANGES:
- NEW: Added automated GitHub Actions release workflow for creating releases from tags
- NEW: Added release documentation (docs/RELEASES.md)
- IMPROVED: Enhanced CI workflow with better error handling and logging
- IMPROVED: Added cache/ directory to .gitignore
Tue Jan 27 2026 GVM Contributors
Version: 1.0.23 State: Stable
CHANGES:
- SECURITY: Removed eval usage in gvmsudo to prevent command injection vulnerabilities
- SECURITY: Added SHA256 checksum verification for binary downloads from go.dev/dl
- SECURITY: Implemented comprehensive input validation for URLs, version names, and file paths
- SECURITY: Fixed command injection vulnerability in alias-list script
- Updated deprecated Google Code references (code.google.com, goprotobuf.googlecode.com) to modern protobuf packages
- Migrated CI/CD from deprecated Travis CI to GitHub Actions
- Fixed macOS version detection to support macOS 11+ (Big Sur and later)
- Standardized error handling with consistent exit codes across all scripts
- Implemented logging framework with automatic rotation and cleanup
- Updated bash practices (replaced deprecated 'which' with 'command -v')
- Added new validation functions for secure input handling
- Enhanced error messages and logging throughout the codebase
Fri Apr 6 04:06:29 PDT 2012 Joshua Bussdieker jbussdieker@gmail.com
* Created automake template
Version: 1.0.x State: LTR
CHANGES:
- Minor bug fixes and cleanup. 1.0.x will always be a safe upgrade path.
Version: 0.0.8 State: Stable
CHANGES:
- Complete overhaul of the package system. Now uses http://github.com/moovweb/gpkg
Version: 0.0.7 State: Stable
CHANGES:
- Fixed issue with gvm use where multiple versions matched.
- Added gvm diff for checking the state of a GOROOT.
- Install now uses hg clone to copy source.
- Fixed remaining error handling. Error now output to stderr.
- Fixed error/state checking in
gvm pkg listandgvm pkgset list - Removed all command's gvm- prefix
- Revamped the folder structure for scripts so they don't show up in the path
- Added gvm prompt for including Go version and/or package set info in the bash prompt
- Added ability to build from source when running
gvm pkg install <name>in a folder named .
Version: 0.0.6 State: Stable
CHANGES:
- Added gvm pkg install to replace gvminstall
- Added a log folder for Go download/install logs
- Running install for the same Go version twice no longer rebuilds
- Failed Go installs now get deleted.
- Cache Go source.
- Added fuzzy match for gvm uninstall
- Allow gvm use shorthand (ex. gvm use 60.3)
- Fixed bug with gvm install when GOBIN is set
- Added gvminstall for version management installs
- Added gvmake as a shortcut to running Makefile.gvm files
Version: 0.0.5 State: Stable
CHANGES:
- Added
gvm getfor updating gvm source code - Added package sets which are containers for GOPATHs
- Major folder restructuring. MUST gvm implode to upgrade!
Version: 0.0.4 State: Stable
CHANGES:
- Lots more error handling
- Added stable option for install
- Added system install option
- Cleaned up enviroment handling
Version: 0.0.3 State: Beta
CHANGES:
- Go versions are now identified by the full tag name. Fuzzy matches of Go versions still works (ex. "60.3").
- Fixed bug with ~/.gvm/gos folder not being created by Mercurial
- Fixed error message in
gvm listwhen no Go versions are installed - Added gvm listall to list all available Go versions
Version: 0.0.2 State: Alpha
CHANGES:
- Added prerequisite checks for packages needed to build Go
- Fixed error with version not displaying on new installs
- Better error handling for the cloning and building of Go (log files too!)
- Improved enviroment handling
- Better install handling for .bashrc and .profile
- Added ability to uninstall Go versions
gvm listis now a parsed ls list and indicates the current version- Switch to symbolic links to change Go versions
Version: 0.0.1 State: Experimental
CHANGES:
- Hacky proof of concept implementation. Installs in subfolders and uses cp to switch between versions.