Skip to content

Releases: adalinesimonian/gdvm

v0.13.1

Choose a tag to compare

@github-actions github-actions released this 03 Jul 11:04
v0.13.1
05870ab

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

Choose a tag to compare

@github-actions github-actions released this 03 Jul 10:39
v0.13.0
d5b34e4

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.token configuration 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.toml is removed automatically the next time gdvm runs.

New Features

  • Custom registries are now supported. Registries can be created using gdvm registry init and builds can be added to them with gdvm registry add-build. One can configure gdvm to use a custom registry with gdvm registry add or by configuring gdvm.toml. See the README for more information.
  • If a gdvm.toml file 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 prune removes 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 with gdvm 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 --pre upgrades gdvm to the latest pre-release. Without the flag, gdvm upgrade only 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 SHA256SUMS to confirm the checksum file's signature, then sha256sum --check --ignore-missing SHA256SUMS to 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.com to registry.gdvm.io for the Godot build registry.
  • gdvm now reads its own release information from registry.gdvm.io instead of the GitHub API, so update checks and gdvm upgrade no longer require GitHub API access or are affected by rate limits.

Full Changelog: v0.12.1...v0.13.0

v0.12.1

Choose a tag to compare

@github-actions github-actions released this 17 Jun 21:59
c507706

Fixed

  • Running gdvm run latest would 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

Choose a tag to compare

@github-actions github-actions released this 17 Jun 21:25
6942721

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 --csharp flag for selecting C# builds. Use the csharp: prefix instead, for example, csharp:4.4.
  • The stable keyword for the latest stable release. Use latest instead.
  • The .gdvmrc file for pinned versions. Use gdvm.toml instead.

New Features

  • Added a latest keyword that resolves to the latest stable release. If --pre is also passed, it resolves to the absolute latest release, including pre-releases and dev builds.
  • gdvm now respects .env files 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:]version form. C# builds are selected with the csharp: prefix, for example, csharp:4.4. The standard build can be named explicitly with the reserved default: prefix.
  • Pinned versions are stored in a new gdvm.toml file.
  • 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

Choose a tag to compare

@github-actions github-actions released this 28 Dec 00:28
bc2160f

New Features

  • Added the show command, which will print the path to the Godot binary for a given version.
  • Added the link command, 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 the gdvm or godot commands directly and need a path to the actual Godot binary.

Full Changelog: v0.10.0...v0.11.0

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 27 Dec 15:07
f5e03da

New Features

  • Added a --refresh flag 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 run gdvm refresh separately.

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-Length header.
  • 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

Choose a tag to compare

@github-actions github-actions released this 04 Jul 01:30
729dc70

New Features

  • gdvm now supports a new gdvm refresh command 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

Choose a tag to compare

@github-actions github-actions released this 26 Jun 17:01
05ba2d0

Fixed

  • gdvm upgrade will no longer automatically upgrade across major version boundaries. This should prevent gdvm from automatically upgrading to a release with breaking changes. The new -m/--major flag can be used to explicitly allow major version upgrades.

Full Changelog: v0.8.0...v0.8.1

v0.8.0

Choose a tag to compare

@adalinesimonian adalinesimonian released this 24 Jun 06:50
3743755

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

Choose a tag to compare

@adalinesimonian adalinesimonian released this 08 Jun 04:21
e8b5727

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