Releases: QGrain/cvm
Releases · QGrain/cvm
v0.0.3
Highlights
v0.0.3 improves daily cvm usability by allowing version prefixes, adding managed compiler path inspection, and making cvm version more useful for diagnosing local setup issues.
Changes
- Added version prefix resolution.
cvm install llvm 21resolves to the latest matching LLVM 21 release.cvm use gcc 15,cvm env,cvm alias default,cvm uninstall, andcvm whichresolve against locally installed versions.
- Added
cvm ls-remote [llvm|gcc] [prefix]for filtered remote version listing. - Added
cvm which <llvm|gcc> [version-or-prefix]to print cvm-managed compiler binary paths. - Extended
cvm versionwith lightweight diagnostics forCVM_HOME,cvm.sh, PATH, and default toolchain status. - Updated project version, installer default version, README, README_CN, and embedded remote index metadata to v0.0.3.
Documentation
- Added
docs/troubleshooting.md. - Documented glibc/musl release binary behavior, proxy variables, PATH priority, shell profile loading, and source build dependency failures.
- Updated command examples to use version prefixes where appropriate.
Testing
- Simplified brittle documentation tests that asserted implementation details such as exact runner labels or action versions.
- Added tests for prefix resolution,
which,ls-remotefiltering, andversiondiagnostics.
Upgrade Notes
Re-running install.sh replaces $HOME/.cvm/bin/cvm and regenerates $HOME/.cvm/cvm.sh. Existing compiler installations and defaults under $HOME/.cvm are preserved.
v0.0.2
Highlights
v0.0.2 adds manifest-backed remote version discovery, automated release asset builds, and a simpler default-version model for LLVM and GCC toolchains.
Changes
- Added
cvm ls-remotesupport backed bymanifests/remote-index.json. - Added
cvm versionandcvm upgraderelease checks. - Added automatic default aliasing when the first managed compiler version is installed.
- Removed project-local
.cvmrcdefaults;cvm useandcvm envnow use explicit versions or globalalias default.
Release and CI
- Added GitHub Actions release automation for Linux and macOS binaries.
- Added scheduled remote index synchronization for GCC and LLVM release metadata.
- Added support for backfilling release assets for existing tags.
Documentation
- Simplified README and README_CN for quick-start usage.
- Added design, release, and contribution documentation under
docs/.
Upgrade Notes
Re-running install.sh replaces $HOME/.cvm/bin/cvm and regenerates $HOME/.cvm/cvm.sh. Existing toolchains and defaults under $HOME/.cvm are preserved.
v0.0.1
Initial release of cvm, a per-user compiler version manager for LLVM and GCC.
Highlights
- Manage multiple LLVM and GCC versions under
$HOME/.cvm. - Install LLVM and GCC from source with kernel-oriented defaults.
- Switch compiler versions in the current shell with nvm-style shell integration.
- Persist default compiler versions with
cvm alias default. - Support project-local version selection through
.cvmrc. - Keep system compilers untouched.