proto

A pluggable multi-language version manager.

MIT License

Downloads
679.8K
Stars
477
Committers
17

Bot releases are visible (Hide)

proto - 0.17.1

Published by github-actions[bot] about 1 year ago

Release Notes

🚀 Updates

  • Updated proto install --pin to also pin even if the tool has already been installed.
  • Updated Windows to use pwsh when available.

🐞 Fixes

  • Fixed an issue where proto install and proto list-remote would read from the cache and be unaware of newly released versions upstream.

Download proto_cli 0.17.1

File Platform Checksum
proto_cli-aarch64-apple-darwin.tar.xz macOS Apple Silicon 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 - 0.17.0

Published by github-actions[bot] about 1 year ago

Release Notes

💥 Breaking

  • WASM API
    • Updated exec_command! to no longer throw on non-zero exit codes. You'll now need to handle failure states manually.

🚀 Updates

  • Added Python language support via the python identifier.
  • Added colors to command line --help menus.
  • Added canary support to all applicable tools.
    • New --canary flag for proto install.
    • Canary release will always be the latest, and can be re-installed.
  • Updated the following locations to support partial versions and aliases:
    • Tool versions in .prototools.
    • Pinning a default version with proto install --pin.
    • Setting global version with proto global.
    • Setting local version with proto local.
  • TOML API
    • Added install.download_url_canary and install.checksum_url_canary settings.
  • WASM API
    • Added command_exists, is_musl, and get_target_triple helper functions.
    • Added skip_install field to NativeInstallOutput.
    • Added skip_uninstall field to NativeUninstallOutput.

⚙️ Internal

  • Now supports .zst (or .zstd) archive formats.
  • Improved version, alias, and requirement handling.

Download proto_cli 0.17.0

File Platform Checksum
proto_cli-aarch64-apple-darwin.tar.xz macOS Apple Silicon 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 - 0.16.1

Published by github-actions[bot] about 1 year ago

Release Notes

🐞 Fixes

  • Fixed an issue where proto clean --purge would not delete shims.

Download proto_cli 0.16.1

File Platform Checksum
proto_cli-aarch64-apple-darwin.tar.xz macOS Apple Silicon 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 - 0.16.0

Published by github-actions[bot] about 1 year ago

Release Notes

💥 Breaking

  • WASM API
    • Requires extism >= v0.5.
    • Requires extism-pdk >= v0.3.4.

🚀 Updates

  • We now include the current proto version in logs.
  • Added a proto add-plugin command for adding a plugin to a config file.
  • Added a proto remove-plugin command for removing a plugin from a config file.
  • Updated proto clean with --purge to completely remove a tool from proto.
  • Updated proto clean with --purge-plugins to remove all installed plugins.
  • Updated proto clean to also remove stale/unused plugins.

🐞 Fixes

  • Fixed some commands where their shorthand alias was not being registered correctly.

⚙️ Internal

  • Added folder locking during tool installation to avoid colliding processes.
  • Renamed PROTO_ROOT to PROTO_HOME, but we'll support PROTO_ROOT for the time being.

Download proto_cli 0.16.0

File Platform Checksum
proto_cli-aarch64-apple-darwin.tar.xz macOS Apple Silicon 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 - 0.15.1

Published by github-actions[bot] about 1 year ago

Release Notes

⚙️ Internal

  • Improved file locking logic and scenarios.
  • Improved logging to pinpoint slow operations.
  • Updated Rust to v1.72.

Download proto_cli 0.15.1

proto_cli-aarch64-apple-darwin.tar.xz checksum
proto_cli-x86_64-apple-darwin.tar.xz checksum
proto_cli-x86_64-pc-windows-msvc.zip checksum
proto_cli-x86_64-unknown-linux-gnu.tar.xz checksum
proto - 0.15.0

Published by github-actions[bot] about 1 year ago

Release Notes

💥 Breaking

  • WASM API
    • Removed env from all inputs. Use get_proto_environment function or context input instead.

🚀 Updates

  • Added a proto uninstall-global command for uninstalling a global dependency from a tool.
  • Updated the proto plugins command to include the plugin's version when applicable.
  • TOML API
    • Added globals.uninstall-args to schema, allowing globals to be uninstalled.
  • WASM API
    • Added install_global, uninstall_global, native_uninstall, and sync_shell_profile plugin functions.
    • Added pre_install, post_install, pre_run, and post_run plugin hooks.
    • Added plugin_version field to ToolMetadataOutput.
    • Added a VirtualPath enum for working with virtual and real paths. All PathBuf inputs have been updated to this new type.
    • Added a context field to some inputs, that includes the plugin ID, tool directory, and current version.
    • Added a get_tool_id function for accessing the current plugin ID.
    • Added a get_proto_environment function for accessing information about the host and proto environment.

🐞 Fixes

  • Fixed an issue where some error messages would be obfuscated.

⚙️ Internal

  • The proto_cli crate can no longer be used as a library, use proto_core instead.

Download proto_cli 0.15.0

proto_cli-aarch64-apple-darwin.tar.xz checksum
proto_cli-x86_64-apple-darwin.tar.xz checksum
proto_cli-x86_64-pc-windows-msvc.zip checksum
proto_cli-x86_64-unknown-linux-gnu.tar.xz checksum
proto - 0.14.2

Published by github-actions[bot] about 1 year ago

Release Notes

🐞 Fixes

  • Added file locking around the remote versions cache to avoid fs race conditions.

Install proto_cli 0.14.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/proto/releases/download/v0.14.2/proto_cli-installer.sh | sh

Install prebuilt binaries via powershell script

irm https://github.com/moonrepo/proto/releases/download/v0.14.2/proto_cli-installer.ps1 | iex

Download proto_cli 0.14.2

proto_cli-aarch64-apple-darwin.tar.xz checksum
proto_cli-x86_64-apple-darwin.tar.xz checksum
proto_cli-x86_64-pc-windows-msvc.zip checksum
proto_cli-x86_64-unknown-linux-gnu.tar.xz checksum
proto - 0.14.1

Published by github-actions[bot] about 1 year ago

Release Notes

🐞 Fixes

  • Fixed an issue where proto setup would sometimes not initialize.

Download proto_cli 0.14.1

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.14.0

Published by github-actions[bot] about 1 year ago

Release Notes

💥 Breaking

  • Versions defined in .prototools must be fully-qualified semantic versions. Partial versions (missing patch or minor) are no longer supported. This may change in the future based on feedback.
  • Tool and plugin names must now be in kebab-case.
  • Node
    • Yarn 2+ is now installed using @yarnpkg/cli-dist. We no longer downgrade to the latest v1.
    • Will no longer detect a version from engines in package.json (too problematic).
  • TOML API
    • Moved install.global-args to globals.install-args.
    • Moved install.globals-dir to globals.lookup-dirs.
    • Removed install.unpack (proto should be smart enough now to figure this out).
  • WASM API
    • Renamed host function trace to host_log.

🚀 Updates

  • Node.js (and package managers) and Rust are now powered by WASM plugins, and have been removed from core.
    • Please report any issues you encounter or discrepancies from the previous release!
  • Improved version detection and requirement resolution.
  • Rust
    • Will now detect a version/channel from rust-toolchain.toml and rust-toolchain.
  • TOML API
    • Added new globals section.
  • WASM API
    • Added host_log! and exec_command! macros for working with host functions.
    • Added default_version and inventory fields to ToolMetadataOutput.
    • Added home_dir field to ToolMetadataInput and LocateBinsInput.
    • Added globals_prefix field to LocateBinsOutput.
    • Updated exec_command with stream/inherit support.
    • Updated bin_path in LocateBinsOutput and ShimConfig to a PathBuf.

Download proto_cli 0.14.0

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.13.1

Published by github-actions[bot] about 1 year ago

Release Notes

🚀 Updates

  • WASM API
    • Added the plugin id to every env field.
    • Added initial to LoadVersionsInput.

🐞 Fixes

  • Fixed an issue where version requirements using >, >=, <, or <= wouldn't parse correctly.

Download proto_cli 0.13.1

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.13.0

Published by github-actions[bot] about 1 year ago

Release Notes

🚀 Updates

  • Bun, Deno, and Go are now powered by WASM plugins, and have been removed from core.
    • This is an experiment before we migrate Node.js and Rust to WASM.
    • Please report any issues you encounter or discrepancies from the previous release!
  • Added a new plugin configuration locator, github:org/repo.
  • Added a proto plugins command, for listing all active and configured plugins.
  • Updated proto clean and proto use to load and merge all .prototools from the current directory and upwards.
  • WASM API
    • Added a format_bin_name function.
    • Added a check_supported_os_and_arch function.
    • Added a checksum field to VerifyChecksumInput.
    • Renamed ParseVersion* to ParseVersionFile*.
    • Published a proto_pdk_test_utils package for writing tests.

⚙️ Internal

  • Rewrote the plugin downloading and registry layers.
  • Updated Rust to v1.71.

Download proto_cli 0.13.0

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.12.1

Published by github-actions[bot] over 1 year ago

Release Notes

🚀 Updates

  • WASM API
    • Added a trace host function, for logging trace messages via the host machine.
    • Added an exec_command host function, for executing system commands on the host machine.
    • Added an fetch_url_with_cache function, for making an HTTP request and caching the response.
    • Added fallback_last_globals_dir field to LocateBinsOutput.
    • Updated load_git_tags to use the new exec_command function.

🐞 Fixes

  • Fixed an issue where shims were always being created.

Download proto_cli 0.12.1

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.12.0

Published by github-actions[bot] over 1 year ago

Release Notes

💥 Breaking

  • Removed schema: as a prefix for TOML based plugins. Use source: instead.

🚀 Updates

  • Added experimental support for WASM based plugins.
  • Added source: as a plugin prefix.

⚙️ Internal

  • Updated Cargo dependencies.
  • Updated to cargo-dist v0.0.6.

Download proto_cli 0.12.0

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.11.2

Published by github-actions[bot] over 1 year ago

Release Notes

🐞 Fixes

  • Fixed an args escaping issue for Unix based shims.

Download proto_cli 0.11.2

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.11.1

Published by github-actions[bot] over 1 year ago

Release Notes

🐞 Fixes

  • Fixed an issue where --log would fail with an invalid value when running a tool.

Download proto_cli 0.11.1

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.11.0

Published by github-actions[bot] over 1 year ago

Release Notes

🚀 Updates

  • Added shim support for bunx (bun), pnpx (pnpm), and yarnpkg (yarn).
  • Added a global --log option to all commands.
  • Improved tracing log messages.

⚙️ Internal

  • Updated Cargo dependencies.
  • Refactored shims from the ground up for easier maintenance.

Download proto_cli 0.11.0

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.10.6

Published by github-actions[bot] over 1 year ago

Release Notes

🚀 Updates

  • Added PROTO_CACHE environment variable to control whether to read from temporary cache or not.

Download proto_cli 0.10.6

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.10.5

Published by github-actions[bot] over 1 year ago

Release Notes

🚀 Updates

  • Added PROTO_AUTO_CLEAN, PROTO_AUTO_INSTALL, and PROTO_NODE_INTERCEPT_GLOBALS environment variables.
  • Added a node-intercept-globals setting to control the Node.js/npm/etc globals behavior.

Download proto_cli 0.10.5

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.10.4

Published by github-actions[bot] over 1 year ago

Release Notes

🚀 Updates

  • Updated Node.js to use x64 on arm64 machines when arm64 is not available (<16).

🐞 Fixes

  • Fixed an issue where writing to shells would omit a trailing newline.

Download proto_cli 0.10.4

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz
proto - 0.10.3

Published by github-actions[bot] over 1 year ago

Release Notes

🚀 Updates

  • Improved error messages for missing or unsupported downloads.

🐞 Fixes

  • Fixed an issue where proto upgrade would fail on Windows.
  • Fixed an issue where version requirement >=0.0.0 <0.0.0 would fail to parse.

Download proto_cli 0.10.3

target kind download
aarch64-apple-darwin tarball proto_cli-aarch64-apple-darwin.tar.xz
x86_64-apple-darwin tarball proto_cli-x86_64-apple-darwin.tar.xz
x86_64-pc-windows-msvc tarball proto_cli-x86_64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu tarball proto_cli-x86_64-unknown-linux-gnu.tar.xz