github moonrepo/proto v0.57.0
0.57.0

5 hours ago

Release Notes

🎉 Release

In an effort to combat GitHub's flakiness when downloading plugins, we're migrating from raw URLs to referencing OCI artifacts in ghcr.io / GitHub Packages (also known as GitHub Container Registry). Yeah we know, we're still using GitHub, but we want to experiment with this, and verify that ghcr.io is more reliable and stable than the raw file CDN.

If this turns out not to be true, we'll revert back to the previous implementation and look into other alternatives.

💥 Breaking

  • If you are using a custom OCI registry that requires authentication, you will now need to set auth = true in your settings.
    [settings]
    unstable-registries = [{ registry = "custom.host.com", auth = true }]
  • If you are using a custom OCI registry as the fallback for unknown plugin identifiers, you will now need to set default = true in your settings.
    [settings]
    unstable-registries = [{ registry = "custom.host.com", default = true }]
  • When installing a tool for the first time, we no longer pin the version to the global ~/.proto/.prototools config.

🚀 Updates

  • Added 2 new backends, cargo and npm, allowing you to install CLIs from their respective registries. Simply prefix the package name with the backend identifier, for example:
    "cargo:cargo-dist" = "0.31"
    "npm:typescript" = "6"
  • Added auth and default options to the settings.unstable-registries configuration entries.
    • auth indicates whether the registry requires authentication or not. If true, we'll attempt to retrieve credentials from the Docker config for this registry's host.
    • default indicates whether this registry should be used as the default when no registry is specified in the locator, or when only an identifier is provided.
  • Added support for .tar.zst archives (tar + zstd compression).
  • Updated OCI registry artifacts to support tar archives as a supported media type.
    • The archive will be downloaded, then unpacked, and searched for a valid WASM file.
  • Updated proto versions command and list_tool_versions MCP tool to support a filter option, which is a version range/requirement, to filter the versions list.
    • proto versions node ~24
    • list_tool_versions node --filter ~24
  • Updated the moonrepo/build-wasm-plugin GitHub action to support publishing to ghcr.io.

🐞 Fixes

  • Fixed an issue where some tools that require a backend (asdf) would generate broken shims.
  • Fixed an issue where proto outdated --update would overwrite aliases.

⚙️ Internal

  • Added extensive E2E tests to catch issues and regressions moving forward. These E2E tests run on the command line, not through Rust's testing framework, to better simulate real world usage and catch issues that unit tests may miss.
  • Updated dependencies.

Install proto_cli 0.57.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/proto/releases/download/v0.57.0/proto_cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/moonrepo/proto/releases/download/v0.57.0/proto_cli-installer.ps1 | iex"

Download proto_cli 0.57.0

File Platform Checksum
proto_cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
proto_cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
proto_cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
proto_cli-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
proto_cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
proto_cli-aarch64-unknown-linux-musl.tar.xz ARM64 MUSL Linux checksum
proto_cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

Don't miss a new proto release

NewReleases is sending notifications on new releases.