proto

A pluggable multi-language version manager.

MIT License

Downloads
679.8K
Stars
477
Committers
17

Bot releases are visible (Hide)

proto - 0.22.2

Published by github-actions[bot] 11 months ago

Release Notes

🐞 Fixes

  • Fixed an issue where version detection would read files found in node_modules (which you usually don't want).

Download proto_cli 0.22.2

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_cli-x86_64-unknown-linux-musl.tar.xz musl Linux x64 checksum
proto - 0.22.1

Published by github-actions[bot] 12 months ago

Release Notes

🐞 Fixes

  • Fixed an issue where proto clean or proto use (with auto-clean) would crash.

Download proto_cli 0.22.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_cli-x86_64-unknown-linux-musl.tar.xz musl Linux x64 checksum
proto - 0.22.0

Published by github-actions[bot] 12 months ago

Release Notes

🚀 Updates

  • Refactored and standardized how executables (bins and shims) are managed.
    • Binaries (~/.proto/bin) and shims (~/.proto/shims) now share the same internal data structures.
    • For the most part, is a 1:1 relation. There will be a shim for every binary, and vice versa.
    • Reduced the amount of WASM calls to locate executables to 1 call.
    • Removed the concept of local shims (was a hidden implementation detail).
  • Reworked the proto bin command.
    • By default returns an absolute path to the real executable (~/.proto/tools/<tool>/<version>/bin).
    • Pass --bin to return the ~/.proto/bin path.
    • Pass --shim to return the ~/.proto/shims path.
  • Updated proto clean --purge and proto uninstall to accurately delete all executables.
  • Updated proto uninstall to support removing the tool entirely (simply omit the version).
  • Updated internet connection checks to only check during critical workflows.
    • Will no longer happen if we have a fully-qualified version (primarily for proto run).
    • Will still happen for partial versions, as we need to resolve to a fully-qualified.
    • Will always happen for install, upgrade, and other flows that must download files.
  • TOML API
    • Added install.no_bin and install.no_shim fields.
  • WASM API
    • Added locate_executables function.
    • Added LocateExecutablesInput, LocateExecutablesOutput, ExecutableConfig structs.
    • Deprecated locate_bins and create_shims functions.
    • Deprecated LocateBinsInput, LocateBinsOutput, CreateShimsInput, CreateShimsOutput, ShimConfig structs.

🐞 Fixes

  • Fixed an issue where config files in the user home directory were not loaded.

🧩 Plugins

  • Updated bun_plugin to v0.5.
  • Updated deno_plugin to v0.5.
  • Updated go_plugin to v0.5.
  • Updated node_plugin and node_depman_plugin to v0.5.
  • Updated python_plugin to v0.2.
  • Updated rust_plugin to v0.4.
  • Updated schema_plugin (TOML) to v0.5.
  • Node
    • Updated the npm tool to create the npx shim instead of the node tool.
    • Updated symlinked binaries to use the shell scripts instead of the source .js files (when applicable).

⚙️ Internal

  • Plugin versions are now pinned and tied to proto releases to avoid unintended drift and API changes.

Download proto_cli 0.22.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_cli-x86_64-unknown-linux-musl.tar.xz musl Linux x64 checksum
proto - 0.21.1

Published by github-actions[bot] 12 months ago

Release Notes

🐞 Fixes

  • Fixed an issue where uninstalling the "default version" doesn't delete the symlinked binary.
  • Fixed an issue where the versions cache was not being read.
  • Fixed an issue where installing a tool would write to the wrong temporary directory.

Download proto_cli 0.21.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_cli-x86_64-unknown-linux-musl.tar.xz musl Linux x64 checksum
proto - 0.21.0

Published by github-actions[bot] 12 months ago

Release Notes

💥 Breaking

  • WASM API
    • Removed input.context from LoadVersionsInput and ResolveVersionInput.

🚀 Updates

  • Added Linux x64 musl support (x86_64-unknown-linux-musl).
  • Improved file and directory locking. Will now work correctly across processes and signals, especially for those killed/dropped.
  • Updated WASM functions to use explicit Rust enum types for versions to properly handle all variations (version, alias, requirement, range).
  • WASM API
    • Uses VersionSpec enum:
      • ResolveVersionOutput.version
      • ToolContext.version
    • Uses UnresolvedVersionSpec enum:
      • LoadVersionsInput.initial
      • ParseVersionFileOutput.version
      • ResolveVersionInput.initial
      • ResolveVersionOutput.candidate
      • SyncManifestOutput.default_version
      • ToolMetadataOutput.default_version

Download proto_cli 0.21.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_cli-x86_64-unknown-linux-musl.tar.xz musl Linux x64 checksum
proto - 0.20.4

Published by github-actions[bot] 12 months ago

Release Notes

🐞 Fixes

  • Fixed an issue where auto-install would keep re-installing a tool.
  • Fixed more WASM memory issues.

Download proto_cli 0.20.4

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.20.3

Published by github-actions[bot] 12 months ago

Release Notes

🚀 Updates

  • Added a PROTO_OFFLINE_TIMEOUT environment variable to control the timeout for offline checks (in milliseconds).
  • Added a PROTO_OFFLINE_HOSTS environment variable to customize additional hosts/IPs to check for offline status.
  • WASM API
    • Updated host_log! to support writing to stdout/stderr.

🐞 Fixes

  • Fixed proto migrate failing on Windows.

⚙️ Internal

  • Added more logging to WASM functions.

Download proto_cli 0.20.3

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.20.2

Published by github-actions[bot] 12 months ago

Release Notes

🚀 Updates

  • Improved offline checks and behaviors.

🐞 Fixes

  • Fixed a WASM memory issue that would error with "extism_call failed".
  • Fixed an issue where virtual paths would be mis-prefixed.

⚙️ Internal

  • Renamed /home virtual path to /userhome to avoid conflicts.
  • Updated dependencies.

Download proto_cli 0.20.2

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.20.1

Published by github-actions[bot] 12 months ago

Release Notes

🚀 Updates

  • Updated proto use to load plugins in parallel.

🐞 Fixes

  • Fixed an issue where proto use would not bubble up errors for tools that fail to install.

⚙️ Internal

  • Increased the timeout for WASM function calls from 30s to 90s.
  • Improved and clarified some error messages.

Download proto_cli 0.20.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.20.0

Published by github-actions[bot] 12 months ago

Release Notes

💥 Breaking

To ease the migration process, we've added a new migrate command. Simply run proto migrate v0.20 after upgrading proto!

  • The generated shims have moved to ~/.proto/shims from ~/.proto/bin. You'll need to manually update PATH in your shell profile if you'd like to continue using the "runtime version detection" functionality.

    export PROTO_HOME="$HOME/.proto"
    -export PATH="$PROTO_HOME/bin:$PATH"
    +export PATH="$PROTO_HOME/shims:$PROTO_HOME/bin:$PATH"
    

    Furthermore, we suggest deleting all files in ~/.proto/bin except for proto(.exe).

  • WASM API

    • Removed env_vars from ToolMetadataOutput and ToolContext. Use host_env! macro instead.

🚀 Updates

  • Reworked the ~/.proto/bin directory to now contain symlinks to the original tool executables. This is a non-shim based alternative that can be used stand-alone or in unison with our shims.
    • The globally pinned version is the version that's symlinked. This can be updated with proto install --pin.
    • This approach does not detect a version at runtime.
  • Added a proto migrate command for easily applying changes between breaking releases.
  • Added support for minisign checksum files. Can now verify .minisig signatures for downloaded tools.
  • Updated proto use to install tools in parallel.
  • Updated proto plugins and proto tools to load plugins in parallel.
  • Updated proto run to error when the tool attempts to self-upgrade outside of proto.
  • TOML API
    • Added a metadata setting.
    • Added a install.checksum-public-key setting.
  • WASM API
    • Added a self_upgrade_commands field to ToolMetadataOutput.
    • Added a checksum_public_key field to DownloadPrebuiltOutput.
    • Removed checksum from VerifyChecksumInput.

⚙️ Internal

  • Minor performance improvements to runtime version detection.
  • Improved error handling and messages.

Download proto_cli 0.20.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.19.3

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

Release Notes

🚀 Updates

  • Ensures the installation directory is empty before unpacking/moving files during an install.
  • WASM API
    • Added install_dir to DownloadPrebuiltInput and NativeInstallInput.

⚙️ Internal

  • Updated dependencies.

Download proto_cli 0.19.3

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.19.2

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

Release Notes

🚀 Updates

  • Updated proto clean to also clean the ~/.proto/temp directory.
  • Updated proto install to unpack installs to a temporary directory, before moving to the final store location.

Download proto_cli 0.19.2

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.19.1

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

Release Notes

🚀 Updates

  • The file loaded for proto outdated is now output in the terminal.
  • WASM API
    • Added get_env_var and set_env_var host functions.
    • Added host_env! macro.

Download proto_cli 0.19.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.19.0

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

Release Notes

💥 Breaking

  • Removed proto global, use proto pin --global instead.
  • Removed proto local, use proto pin instead.

🚀 Updates

  • Added a proto outdated command that'll check for new versions of configured tools.
  • Added a proto pin command, which is a merge of the old proto global and proto local commands.
  • Added a pin-latest setting to ~/.proto/config.toml that'll automatically pin tools when they're being installed with the "latest" version.
  • Updated proto install to auto-clean stale plugins after a successful installation.

⚙️ Internal

  • Added PROTO_WASM_LOG environment variable to toggle the logging of messages from Extism and WASM plugins. Useful for debugging.

Download proto_cli 0.19.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.18.5

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

Release Notes

⚙️ Internal

  • Added PROTO_DEBUG_COMMAND to include all output when debugging command execution.
  • Added more logs to bubble up important information.

Download proto_cli 0.18.5

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.18.4

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

Release Notes

🐞 Fixes

  • Attempts to fix "Failed to parse JSON" errors in relation to the manifest or cached versions.

Download proto_cli 0.18.4

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.18.3

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

Release Notes

🐞 Fixes

  • Another attempt at fixing WASM memory issues.
  • Fixed an issue where binaries sometimes could not be located for "installed" tools.

Download proto_cli 0.18.3

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.18.2

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

Release Notes

🐞 Fixes

  • Hopefully fixed an isse where WASM memory was running out of bounds.
  • Fixed an issue where failed installs/uninstalls would exit with a zero exit code.

⚙️ Internal

  • Fixed an issue where install/uninstall events weren't always firing.

Download proto_cli 0.18.2

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.18.1

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

Release Notes

🐞 Fixes

  • Update our rustls dependency to use OS native certificates.

Download proto_cli 0.18.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.18.0

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

Release Notes

🚀 Updates

  • Added a proto tools command for listing all installed tools and their versions.
  • Added an http setting to ~/.proto/config.toml to control proxies and certificates when making http/https requests, primarily for downloading tools.
    • New allow-invalid-certs setting for allowing invalid certificates (be careful).
    • New proxies setting for customizing internal proxy URLs.
    • New root-cert setting for providing a root certificate (great for corporate environments).

🐞 Fixes

  • Fixed load_git_tags by automatically filtering tags that end with ^{} (dereferenced tags).

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