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
- Example:
🚀 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, andz. - 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, andOTEL_EXPORTER_OTLP_*_ENDPOINTenvironment variables.
- Added experimental HTTP support. Can be enabled with
🧩 Plugins
- Java
- Added unstable support for Java, both JDK and JRE. Can be used with the
java/jdkandjreidentifiers respectively. - Supports 33 different vendors, including OpenJDK, Oracle, Amazon Corretto, Azul Zulu, Eclipse Temurin, and more.
- Based on the foojay.io distribution index APIs.
- Added unstable support for Java, both JDK and JRE. Can be used with the
- 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 cleanwould 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 onPATHthat is itself a proto shim from another store (typically caused byHOMEorPROTO_HOMEchanging, or symlinked paths). We now detect the loop and error, and skip shims from foreign stores during thePATHlookup. - Fixed an issue where
proto run(and shims) would place the paths of a required tool (e.g.nodefornpm) before the paths of the tool being ran withinPATH, 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 likeuvx,bunx, andnpx. - Fixed an issue where the NDJSON output was overzealous and would apply to output that it shouldn't, like
proto activatesyntax. - Fixed some issues where
$XDG_DATA_HOMEwasn'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 | shInstall 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
| 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 |