Skip to content

Releases: moonrepo/proto

0.31.0

02 Mar 00:03
Compare
Choose a tag to compare

Release Notes

In preparation for an official v1 release, improved stability, and overall developer experience, we're renaming some commands, and removing the "global packages" functionality.

πŸ’₯ Breaking

  • Renamed the proto tool commands to proto plugin.
  • Removed the proto tool list-plugins command, and merged its functionality into proto plugin list.
  • Removed the proto install-global, proto list-global, and proto uninstall-global commands.
  • Removed support for the old user config feature (~/.proto/config.toml) which was removed in v0.24.
  • Removed support for aliases and default_version in the tool manifest, which was also removed in v0.24.
  • Removed the proto migrate 0.20 and proto migrate 0.24 commands.
  • WASM API
    • Removed get_tool_id and get_proto_environment helper functions.
    • Removed install_global and uninstall_global plugin functions.
    • Removed InstallGlobalInput, InstallGlobalOutput, UninstallGlobalInput, UninstallGlobalOutput types.

πŸš€ Updates

  • Added a --resolve option to proto pin, which will resolve the version to a valid value before pinning.
  • Added --aliases and --versions options to proto plugin list.
  • Added aliases to proto plugin info.
  • Updated --pin option in proto install to support "local" and "global" values, allowing the config location to be customized.
    • When --pin is passed without a value, will default to "global" for backwards compatibility.
  • WASM API
    • Updated the pre_run hook to return a result, allowing args/env vars to be injected into the running command.

🐞 Fixes

  • Fixed an issue where empty version strings were being parsed, causing failures.

🧩 Plugins

  • Updated bun_plugin to v0.10.
  • Updated deno_plugin to v0.10.
  • Updated go_plugin to v0.10.
  • Updated node_plugin and node_depman_plugin to v0.10.
    • Removed the intercept-globals config setting.
    • Added a new shared-globals-dir setting, which injects args/env vars into npm/pnpm/yarn commands when they attemp to install global packages.
  • Updated python_plugin to v0.8.
  • Updated rust_plugin to v0.9.
  • Updated schema_plugin (TOML) to v0.9.
    • Removed globals and shims settings.
    • Added a platform.*.archs setting, to limit what architectures are supported for that OS.
    • Added a packages setting for managing global packages. Supports globals_lookup_dirs and globals_prefix sub-settings.

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

0.30.2

23 Feb 19:42
Compare
Choose a tag to compare

Release Notes

🧩 Plugins

  • Updated deno_plugin to v0.9.1.
    • Added Linux ARM64 support (requires Deno >= v1.41).

βš™οΈ Internal

  • Updated dependencies.

Download proto_cli 0.30.2

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

0.30.1

21 Feb 01:25
Compare
Choose a tag to compare

Release Notes

🧩 Plugins

  • Updated rust_plugin to v0.8.1.
    • Uses the full triple target when installing and uninstalling toolchains.
  • Updated schema_plugin (TOML) to v0.9.1.
    • Updated our regex to support Perl syntax like \d.

βš™οΈ Internal

  • Updated Rust to v1.76.

Download proto_cli 0.30.1

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

0.30.0

05 Feb 18:01
Compare
Choose a tag to compare

Release Notes

πŸ’₯ Breaking

  • WASM API
    • Updated VirtualPath::real_path to return an Option if conversion fails.

πŸš€ Updates

  • Updated proto setup (which is ran during proto installation) to be interactive.
    • Will now prompt you to choose which shell profile to modify, or not at all.
    • Improved the output messages based on the state of the install.
    • Added --no-profile and --yes arguments to control this.

🐞 Fixes

  • Attempted fix for PowerShell profile updates when using Windows 11 and OneDrive folders.

🧩 Plugins

  • Updated node_plugin and node_depman_plugin to v0.9.1.
    • Added version detection support for volta in package.json.

βš™οΈ Internal

  • Updated dependencies.

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

Version 0.30.0-rc.0

05 Feb 01:30
Compare
Choose a tag to compare
Version 0.30.0-rc.0 Pre-release
Pre-release

Release Notes

πŸ’₯ Breaking

  • WASM API
    • Updated VirtualPath::real_path to return an Option if conversion fails.

πŸš€ Updates

  • Updated proto setup (which is ran during proto installation) to be interactive.
    • Will now prompt you to choose which shell profile to modify, or not at all.
    • Improved the output messages based on the state of the install.
    • Added --no-profile and --yes arguments to control this.

🐞 Fixes

  • Attempted fix for PowerShell profile updates when using Windows 11 and OneDrive folders.

🧩 Plugins

  • Updated node_plugin and node_depman_plugin to v0.9.1.
    • Added version detection support for volta in package.json.

βš™οΈ Internal

  • Updated dependencies.

Download proto_cli 0.30.0-rc.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

0.29.1

23 Jan 21:33
Compare
Choose a tag to compare

Release Notes

🐞 Fixes

  • Fixed virtual path conversion issues on Windows (mostly affected rust-plugin).

Download proto_cli 0.29.1

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

0.29.0

23 Jan 19:38
Compare
Choose a tag to compare

Release Notes

πŸ’₯ Breaking

  • WASM API
    • Renamed err! macro to plugin_err!.
    • Renamed get_tool_id to get_plugin_id.
    • Renamed get_proto_environment to get_host_environment.
    • Renamed /workspace virtual path to /cwd.
    • Renamed ExecCommandInput.env_vars to env.
    • Removed HostEnvironment.proto_dir field.
    • Updated plugin_err! result to not be wrapped in Err.
    • Updated VirtualPath::join to return VirtualPath instead of PathBuf.

πŸš€ Updates

  • Added env and tools.*.env settings to .prototools to support environment variables.
    • Will automatically set variables when a tool is executed.
    • Allows for directory-level and tool-specific variables.
  • Added support for environment based config files, like .prototools.production.
    • Takes higher precedence than .prototools.
    • Can be enabled with the PROTO_ENV environment variable.
  • Updated proto tool info to display aliases and environment variables.
  • Updated WASM logs to be shown alongside proto's --log output (under the extism::pdk namespace).
  • WASM API
    • Added color support to error and host log messages through an HTML-like tag syntax.
    • Added real_path!(buf, ..) and virtual_path!(buf, ..) macro variants for working with Path and PathBuf.
    • Added a fetch_url_bytes function.
    • Improved the implementation of many PDK macros.

🧩 Plugins

  • Updated bun_plugin to v0.9.
  • Updated deno_plugin to v0.9.
  • Updated go_plugin to v0.9.
  • Updated node_plugin and node_depman_plugin to v0.9.
    • Changed the bundled-npm and intercept-globals settings to be false by default (instead of true).
  • Updated python_plugin to v0.7.
  • Updated rust_plugin to v0.8.
  • Updated schema_plugin (TOML) to v0.9.
    • Added globals.bin setting, for customizing the bin used for installs/uninstalls.

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

0.28.2

21 Jan 01:24
Compare
Choose a tag to compare

Release Notes

βš™οΈ Internal

  • Updates in preparation for the v0.29 release.

Download proto_cli 0.28.2

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

0.28.1

14 Jan 23:48
Compare
Choose a tag to compare

Release Notes

πŸš€ Updates

  • WASM API
    • Updated the set_env_var host function (and host_env! macro) to append PATH instead of overwriting it, and to also support virtual paths.

🐞 Fixes

  • Fixed proto upgrade moving the old binary to the wrong location.

🧩 Plugins

  • Updated rust_plugin to v0.7.1.

Download proto_cli 0.28.1

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

0.28.0

12 Jan 20:00
Compare
Choose a tag to compare

Release Notes

This release primarily upgrades our WASM runtime. For plugin authors, you'll need to update to the latest PDK and publish a new version. Old plugins are incompatible.

πŸ’₯ Breaking

  • WASM API
    • Refactored the HostLogInput enum into a struct (this should be transparent if using the host_log! macro).
    • Removed support for old and deprecated APIs: locate_bins, create_shims.
    • Removed get_proto_user_config and format_bin_name functions.
    • Updated get_tool_id to return a Result<String> instead of String.
  • WASM test utils
    • Removed WasmTestWrapper::set_environment() method. Use create_plugin_with_config and pass a config object instead.
// Before
let mut plugin = create_plugin("test-id", sandbox.path());
plugin.set_environment(HostEnvironment {
    arch: HostArch::Arm64,
    os: HostOS::Linux,
    ..Default::default()
});

// After
let plugin = create_plugin_with_config(
  "test-id",
  sandbox.path(),
  HashMap::from_iter([map_config_environment(HostOS::Linux, HostArch::Arm64)]),
);

πŸš€ Updates

  • Will now display an upgrade message when the current proto version is out of date.
  • Improved error messages when a system command does not exist.
  • Improved error messages to include the plugin identifier when applicable.
  • Updated our "last used at" logic to avoid race conditions with the tool manifest.
  • WASM API
    • Added from_virtual_path and to_virtual_path host functions.
    • Added virtual_path! and real_path! macros.
    • Added ExecCommandInput.working_dir field.

🐞 Fixes

  • Fixed an issue where command executions from the context of a plugin weren't taking virtual paths into account.

🧩 Plugins

  • Updated bun_plugin to v0.8.
  • Updated deno_plugin to v0.8.
  • Updated go_plugin to v0.8.
  • Updated node_plugin and node_depman_plugin to v0.8.
  • Updated python_plugin to v0.6.
  • Updated rust_plugin to v0.7.
  • Updated schema_plugin (TOML) to v0.8.

βš™οΈ Internal

  • Updated Extism (plugin runtime) to v1 (from v0.5).

Download proto_cli 0.28.0

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