Skip to content

Releases: moonrepo/proto

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

Version 0.28.0-rc.1

10 Jan 18:16
Compare
Choose a tag to compare
Version 0.28.0-rc.1 Pre-release
Pre-release

Release Notes

πŸ’₯ 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

  • WASM API
    • Added from_virtual_path and to_virtual_path host functions.
    • Added virtual_path! and real_path! macros.
    • Added ExecCommandInput.working_dir field.

βš™οΈ Internal

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

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

Version 0.28.0-rc.0

09 Jan 00:34
Compare
Choose a tag to compare
Version 0.28.0-rc.0 Pre-release
Pre-release

THIS DOES NOT WORK YET, DO NOT USE!

Release Notes

πŸ’₯ Breaking

  • WASM API
    • 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

  • WASM API
    • Added from_virtual_path and to_virtual_path host functions.
    • Added virtual_path! and real_path! macros.

βš™οΈ Internal

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

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

0.27.1

05 Jan 21:45
Compare
Choose a tag to compare