github moonrepo/proto v0.56.0
0.56.0

6 hours ago

Release Notes

💥 Breaking

  • Made some changes to the proto exec command as we no longer auto-quote/escape the command arguments.
    • Removed the --raw flag as it's not needed anymore.
    • If you need to use quotes/escapes, you can quote the entire command to execute:
      • Before: proto exec node -- node -e "console.log('hello world')"
      • After: proto exec node -- 'node -e "console.log('hello world')"'
  • Updated child processes executed from WASM plugins to not always run in a shell by default, as it adds too much overhead.
  • Removed the --on-init flag from proto activate, as the initialization hook now runs by default.

🚀 Updates

  • Updated proto activate and proto exec to resolve and execute tools in dependency chain order, ensuring environment variables and PATH entries are set in the correct order.
    • This allows tools that depend on other tools to work correctly in these workflows. For example, npm depends on node, but npm should take precedence.
  • Added support for shell aliases, that will be injected into the environment during proto activate.
    • Aliases can be configured with the new shell.aliases setting.
  • Added support for base64 encoded data:// locators for plugins. This is primarily for tools built around proto, like moon.
  • Added dash shell support.
  • Improved performance of environment variable collection, and virtual path conversions.
  • Improved shim creation error handling.
  • WASM API
    • Added ExecCommandInput.paths field, which allows plugins to specify a list of real or virtual paths to prepend to the PATH environment variable when executing a command.
    • Added ExecCommandOutput.streamed field, which indicates whether the command was executed with streaming output or not.
    • Added PluginContext.working_dir and PluginUnresolvedContext.working_dir fields, which provide the current working directory as a virtual path.

🧩 Plugins

  • npm, pnpm, yarn
    • Added .npmrc and .yarnrc.yml support. Will parse local and user rc files to extract auth token information.
    • Will pass authorization HTTP headers when making requests for downloading prebuilts.
  • Python, Ruby
    • Updated build from source system dependencies and added apk (Alpine) support.

🐞 Fixes

  • Fixed settings.url-rewrites not applying to the schema_tool plugin.

⚙️ Internal

  • Updated quoting/escaping for many shells.
  • Updated dependencies.

Install proto_cli 0.56.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/proto/releases/download/v0.56.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.56.0/proto_cli-installer.ps1 | iex"

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