github moonrepo/proto v0.59.0
0.59.0

6 hours ago

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

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

Don't miss a new proto release

NewReleases is sending notifications on new releases.