Release Notes
π₯ Breaking
- Removed the underscore "micro/build" segment from calendar versions. Use standard build metadata instead.
- Example:
2024-02-26_123-alpha.0 -> 2024-02-26-alpha.0+123
π Updates
- Added unstable Java support (more below).
- Added a new version specification parser that better supports semantic and calendar versions.
- Added support for version scopes/prefixes in the parser, for example:
openjdk-21.0.2, pypy-2.1.
- Added the following codec support to self-compressed binaries (not packed with tar or zip):
bzip2, xz, and z.
- Added
.tar.Z (LZW format) support.
- Updated offline/internet detection to take into account AI agent firewall policies. If networking is disabled, we mark as offline, otherwise if its open or filtered, we mark it as online.
- Updated archive unpacking to be streamed when applicable.
- Improved our OpenTelemetry (OTEL) implementation to support the following:
- Added experimental HTTP support. Can be enabled with
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf.
- Added experimental TLS support for both HTTP and gRPC.
- Added support for
OTEL_SERVICE_NAME, OTEL_*_EXPORTER, OTEL_EXPORTER_OTLP_*_PROTOCOL, and OTEL_EXPORTER_OTLP_*_ENDPOINT environment variables.
π§© Plugins
- Java
- Added unstable support for Java, both JDK and JRE. Can be used with the
java/jdk and jre identifiers respectively.
- Supports 33 different vendors, including OpenJDK, Oracle, Amazon Corretto, Azul Zulu, Eclipse Temurin, and more.
- Based on the foojay.io distribution index APIs.
- Yarn
- Added experimental support for Yarn v6. This is a Rust based implementation of Yarn, so it installs quite differently than previous versions.
π Fixes
- Fixed an issue where
proto clean would not recursively clean certain directories.
- Fixed an issue where we didn't check for an internet connection when downloading a plugin from an OCI registry or from GitHub.
- Fixed an issue where
proto run (and shims) could recursively execute forever when falling back to a global executable on PATH that is itself a proto shim from another store (typically caused by HOME or PROTO_HOME changing, or symlinked paths). We now detect the loop and error, and skip shims from foreign stores during the PATH lookup.
- Fixed an issue where
proto run (and shims) would place the paths of a required tool (e.g. node for npm) before the paths of the tool being ran within PATH, causing the wrong executable to be used.
- Fixed an issue where concurrent
proto installs could lose entries in the shims registry (~/.proto/shims/registry.json), breaking secondary executables like uvx, bunx, and npx.
- Fixed an issue where the NDJSON output was overzealous and would apply to output that it shouldn't, like
proto activate syntax.
- Fixed some issues where
$XDG_DATA_HOME wasn't being respected.
βοΈ Internal
- Updated Rust to v1.97.0.
- Updated dependencies.
Install proto_cli 0.59.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/moonrepo/proto/releases/download/v0.59.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.59.0/proto_cli-installer.ps1 | iex"
Download proto_cli 0.59.0