github moonrepo/proto v0.42.0
0.42.0

8 hours ago

Release Notes

💥 Breaking

  • Each tool's primary executable file name is no longer based on the plugin's identifier, and is now based on what's configured in the new LocateExecutablesOutput.exes setting.
  • We've reworked how the ~/.proto/bin directory works. Instead of only symlinking globally pinned versions (from ~/.proto/.prototools), we now create a symlink for every tool executable, and every major + minor version installed within that tool. For example, when we install node, we may have the following:
    • ~/.proto/bin/node - Points to the highest installed version.
    • ~/.proto/bin/node-<major> - Points to the highest version within that major range (~major). Is created for each separate major version, for example: node-20, node-22.
    • ~/.proto/bin/node-<major>.<minor> - Points to the highest version within that major + minor range (~major.minor). Is created for each separate major + minor version, for example: node-20.1, node-22.4.
    • ~/.proto/bin/node-canary - Points to a canary install, if it exists.
    • This change is not retroactive. Run proto regen after upgrading.
  • WASM API
    • Deprecated LocateExecutablesOutput.primary and LocateExecutablesOutput.secondary (use exes instead).
    • Updated ToolMetadataOutput.plugin_version to a Version type instead of String.

🚀 Updates

  • Added support for JSON and YAML based configurations for non-WASM schema based plugins. This is an alternative to TOML, but supports all the same settings.
  • We now cache all text-based HTTP requests made from WASM plugins for 12 hours. This should greatly reduce the overhead cost of making requests, and will help for situations where an internet connection is lost.
  • WASM API
    • Added ExecutableConfig.primary.
    • Added LocateExecutablesOutput.exes.
    • Added ToolMetadataOutput.minimum_proto_version.
    • Added ParseVersionFileInput.path.

🐞 Fixes

  • Fixed an issue where proto upgrade would pin proto to ~/.proto/.prototools.

🧩 Plugins

  • Updated bun_tool to v0.14.
  • Updated deno_tool to v0.13.
  • Updated go_tool to v0.14.
  • Updated node_tool to v0.13.
  • Updated node_depman_tool to v0.14.
  • Updated python_tool to v0.12.
    • Removed python<major> and pip<major> executables. Use the new bins feature instead.
    • Added ~/.local/bin as a globals lookup directory.
  • Updated rust_tool to v0.12.
  • Updated schema_tool to v0.16.
    • Removed platform.*.bin-path support (use exe-path instead).
    • Deprecated install.primary and install.secondary.
    • Added install.exes for defining primary and secondary executables.

⚙️ Internal

  • Updated Rust to v1.82.

Download proto_cli 0.42.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.