Releases: adalinesimonian/gdvm
Releases · adalinesimonian/gdvm
Release list
v0.13.1
Fixed
- An omission in the gdvm release URL caused gdvm's upgrade command to fail with a 404 error. This has been fixed, and gdvm can now upgrade itself again. If you were affected by this, you may need to reinstall gdvm to get the latest version.
Full Changelog: v0.13.0...v0.13.1
v0.13.0
Breaking Changes
- Terminal output, aside from help text, is no longer wrapped to a fixed width, and instead relies on the terminal to wrap text. This resolves issues with scripts that parse gdvm output, such as URLs being split across multiple lines.
- The
github.tokenconfiguration setting has been removed. gdvm no longer uses the GitHub API for its own update checks or upgrades, so a token is no longer needed. Any token previously stored in~/.gdvm/config.tomlis removed automatically the next time gdvm runs.
New Features
- Custom registries are now supported. Registries can be created using
gdvm registry initand builds can be added to them withgdvm registry add-build. One can configure gdvm to use a custom registry withgdvm registry addor by configuringgdvm.toml. See the README for more information. - If a
gdvm.tomlfile is malformed, gdvm will now print a warning instead of silently ignoring it. gdvm cache-path <version>will now print the path to the cached download archive for a given version. This is useful for scripts that need to access the archive directly.gdvm pruneremoves installs and cached download archives that are no longer in use. By default it only removes things that have been idle longer than a configurable threshold (settable withgdvm config set prune.max-age-days <days>, default 30 days) while preserving any install that still has a link pointing into it, as well as the global install.gdvm upgrade --preupgrades gdvm to the latest pre-release. Without the flag,gdvm upgradeonly upgrades to stable releases, unless you are already running a pre-release and no newer stable release exists yet, in which case it moves to the latest pre-release of that same version.- gdvm binaries on macOS and Windows are now signed with a code signing certificate. This should prevent warnings about untrusted binaries when running gdvm on those platforms and help identify modified binaries.
- All gdvm releases now provide a SHA256SUMS file with the checksums of all binaries in the release, signed by sigstore. This allows users to verify the integrity of the downloaded binaries and ensure they haven't been tampered with. Validation can be done by running
cosign verify-blob --bundle SHA256SUMS.bundle --certificate-identity-regexp '^https://github.com/adalinesimonian/gdvm/\.github/workflows/release\.yml@' --certificate-oidc-issuer https://token.actions.githubusercontent.com SHA256SUMSto confirm the checksum file's signature, thensha256sum --check --ignore-missing SHA256SUMSto confirm the binaries against it.
Fixed
- Version tags with multiple hyphens, e.g.
1.2-alpha-something, are now correctly parsed and resolved.
Changed
- Switch away from
raw.githubusercontent.comtoregistry.gdvm.iofor the Godot build registry. - gdvm now reads its own release information from
registry.gdvm.ioinstead of the GitHub API, so update checks andgdvm upgradeno longer require GitHub API access or are affected by rate limits.
Full Changelog: v0.12.1...v0.13.0
v0.12.1
Fixed
- Running
gdvm run latestwould take a long time when the release cache wasn't up to date, because it would check the platform compatibility of every single matching release up front. Now it stops as soon as it finds a compatible release.
Full Changelog: v0.12.0...v0.12.1
v0.12.0
Deprecated
The following features have been deprecated. They will continue to work for the time being, but will be removed in a future release. See MIGRATION.md for details.
- The
--csharpflag for selecting C# builds. Use thecsharp:prefix instead, for example,csharp:4.4. - The
stablekeyword for the latest stable release. Uselatestinstead. - The
.gdvmrcfile for pinned versions. Usegdvm.tomlinstead.
New Features
- Added a
latestkeyword that resolves to the latest stable release. If--preis also passed, it resolves to the absolute latest release, including pre-releases and dev builds. - gdvm now respects
.envfiles in the current directory, so you can set environment variables for your projects without having to set them in your shell profile or terminal every time.
Changed
- The version syntax now uses a
[variant:]versionform. C# builds are selected with thecsharp:prefix, for example,csharp:4.4. The standard build can be named explicitly with the reserveddefault:prefix. - Pinned versions are stored in a new
gdvm.tomlfile. - Relicensed from ISC to GPL-3.0-or-later. This ensures that improvements to gdvm will be shared with the community.
Full Changelog: v0.11.0...v0.12.0
v0.11.0
New Features
- Added the
showcommand, which will print the path to the Godot binary for a given version. - Added the
linkcommand, which will create a symlink or copy of a specified Godot version at a given path. This is useful for any debugger setups or IDE integrations that can't use thegdvmorgodotcommands directly and need a path to the actual Godot binary.
Full Changelog: v0.10.0...v0.11.0
v0.10.0
New Features
- Added a
--refreshflag that updates the Godot build registry cache before running commands. This lets you pull from the latest builds without waiting for the automatic refresh or having to rungdvm refreshseparately.
Fixed
- Version resolution now filters registry entries by OS and architecture, so gdvm only picks Godot builds that actually exist for your platform.
- Handles downloads more robustly when the server does not provide a
Content-Lengthheader. - Polished translations, including standardised wording across i18n strings.
Changed
- Cache data is now written atomically to reduce the risk of corrupted registry or release cache files.
Full Changelog: v0.9.0...v0.10.0
v0.9.0
New Features
- gdvm now supports a new
gdvm refreshcommand to update the local version cache from the registry. This is useful if you want to ensure you have the latest versions available without waiting for the automatic cache refresh interval, or for cases where a build has been re-released with a different checksum. (Looking at you, Godot 4.5-beta2) - Not enough French in your life? Tu as de la chance ! gdvm now has a French translation thanks to Raphael Astier (@abclive). If you want to contribute a translation, please see the i18n section in CONTRIBUTING.md.
Full Changelog: v0.8.1...v0.9.0
v0.8.1
Fixed
gdvm upgradewill no longer automatically upgrade across major version boundaries. This should prevent gdvm from automatically upgrading to a release with breaking changes. The new-m/--majorflag can be used to explicitly allow major version upgrades.
Full Changelog: v0.8.0...v0.8.1
v0.8.0
New Features
- gdvm now verifies the checksum of new gdvm binaries when running
gdvm upgrade. The install scripts do this now as well.
Changed
- Running gdvm commands is faster now. Instead of using copies of the gdvm binary for the godot/godot_console aliases, a small shim binary is now used. This means gdvm no longer has to check each alias for equivalence to the main binary every time a command is run.
Full Changelog: v0.7.1...v0.8.0
v0.7.1
Fixed
- Doesn't keep rechecking for gdvm updates on every command run when the update check fails due to a network error. Now only rechecks if there was a GitHub API error.
Full Changelog: v0.7.0...v0.7.1