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 = truein 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 = truein 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/.prototoolsconfig.
🚀 Updates
- Added 2 new backends,
cargoandnpm, 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
authanddefaultoptions to thesettings.unstable-registriesconfiguration entries.authindicates whether the registry requires authentication or not. If true, we'll attempt to retrieve credentials from the Docker config for this registry's host.defaultindicates 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.zstarchives (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 versionscommand andlist_tool_versionsMCP tool to support a filter option, which is a version range/requirement, to filter the versions list.proto versions node ~24list_tool_versions node --filter ~24
- Updated the
moonrepo/build-wasm-pluginGitHub 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 --updatewould 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 | shInstall 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 |