Releases: moonrepo/proto
Releases · moonrepo/proto
0.44.0
Release Notes
This is a unique release that focused primarily on cleaning up our current commands, either by removing arguments, or merging functionality. On top of that, we've refactored all the terminal output using a new UI library powered by iocraft. Read the blog post for more information!
💥 Breaking
- Removed the
proto list
and proto list-remote
commands, use proto versions
instead.
- Removed the
--global
option from proto alias
, unalias
, pin
, and unpin
, use --to
or --from
instead.
- Removed the
--purge
option from proto clean
, use proto uninstall
instead.
- Removed the
--purge-plugins
option from proto clean
, use proto clean plugins
instead.
🚀 Updates
- Implemented a new terminal user interface (TUI) and output style for all commands.
- Added a
--yes
option to proto outdated
, that skips confirmation prompts.
- Added a
--json
option to proto clean
, to capture the cleaned result as JSON.
- Added a new command,
proto versions <tool>
, that lists all available remote and installed versions/aliases.
- Updated
proto clean
to accept a target in which to clean as the 1st argument. For example, proto clean cache
.
- Moved the
--json
and --yes
options into global options.
🧩 Plugins
- Updated
python_tool
to v0.12.2.
- Switched to
astral-sh/python-build-standalone
from indygreg/python-build-standalone
for pre-built images.
Download proto_cli 0.44.0
0.43.3
Release Notes
🐞 Fixes
- Fixed an issue where an empty globals directory was being skipped instead of being used as a fallback.
Download proto_cli 0.43.3
0.43.2
Release Notes
🐞 Fixes
- Fixed an issue where the globals directory may not exist for the
pre_run
hook.
- Fixed invalid Nushell syntax generated from
proto activate
.
Download proto_cli 0.43.2
0.43.1
Release Notes
🐞 Fixes
- Fixed invalid PowerShell syntax generated from
proto activate
.
Download proto_cli 0.43.1
0.43.0
Release Notes
🚀 Updates
- Added a system that allows plugins to require other plugins to be installed, before they will install.
- Added an
--on-init
option to proto activate
, which will trigger the activation hook immediately in the shell, instead of waiting for a directory/prompt change to occur.
- If you were manually executing
_proto_hook
before, this will now fail. Please remove!
- Added support for loading
.env
files through the special env.file
and tools.*.env.file
settings.
- Added support for
~/.netrc
configuration to all HTTP requests.
- Improved implementation of HTTP request/response caching. Now takes into account HTTP cache semantics.
- Updated
proto install
to multi-install tools in topological order.
- Updated
proto upgrade
to error if there's another process of proto currently running.
- Updated
proto setup
to default to a fallback shell if none could be detected, instead of erroring.
- WASM API
- Added
ToolMetadataOutput.requires
, allowing the plugin to require other plugins. For example, npm requires node.
🐞 Fixes
- Fixed the order of shell profiles/configs when applicable.
- Updated
proto setup
to inherit PROTO_HOME
if already set, instead of defaulting to $HOME/.proto
.
🧩 Plugins
- Updated
node_depman_tool
to v0.14.1.
- Added
node
as a required plugin.
- Updated
python_tool
to v0.12.1.
- Fixed an issue where our bin linking would point to an invalid executable path.
- Updated
schema_tool
to v0.16.2.
- Added
metadata.requires
, for defining plugin requirements.
⚙️ Internal
- Updated identifiers, versions, and locators to use compact strings.
- Updated wasmtime to v26 (from v23).
- Updated Rust to v1.83.
Download proto_cli 0.43.0
0.42.2
Release Notes
🚀 Updates
- When adding or viewing a plugin, we now display any deprecation messages from the plugin to the user.
- WASM API
- Added
ToolMetadataOutput.deprecations
.
🧩 Plugins
- Updated
schema_tool
to v0.16.1.
- Brought back
platform.*.bin-path
to support legacy plugin configs.
Download proto_cli 0.42.2
0.42.1
Release Notes
🚀 Updates
- When installing many tools with
proto install|use
, a failed install for a single tool will no longer abort the install of the other tools.
- Added more logging to debug the "File exists (os error 17)" issue.
🐞 Fixes
- Fixed the wrong
proto_version
being passed to WASM function calls.
- When usign the Bash shell, will avoid using
.bash_profile
unless it explicitly exists. This is to support Ubuntu .profile
setups.
Download proto_cli 0.42.1
0.42.0
Release Notes
💥 Breaking
- Each tool's primary executable file name is no longer based on the plugin's identifier, and is now based on what's configured in the new
LocateExecutablesOutput.exes
setting.
- We've reworked how the
~/.proto/bin
directory works. Instead of only symlinking globally pinned versions (from ~/.proto/.prototools
), we now create a symlink for every tool executable, and every major + minor version installed within that tool. For example, when we install node
, we may have the following:
~/.proto/bin/node
- Points to the highest installed version.
~/.proto/bin/node-<major>
- Points to the highest version within that major range (~major
). Is created for each separate major version, for example: node-20
, node-22
.
~/.proto/bin/node-<major>.<minor>
- Points to the highest version within that major + minor range (~major.minor
). Is created for each separate major + minor version, for example: node-20.1
, node-22.4
.
~/.proto/bin/node-canary
- Points to a canary install, if it exists.
- This change is not retroactive. Run
proto regen
after upgrading.
- WASM API
- Deprecated
LocateExecutablesOutput.primary
and LocateExecutablesOutput.secondary
(use exes
instead).
- Updated
ToolMetadataOutput.plugin_version
to a Version
type instead of String
.
🚀 Updates
- Added support for JSON and YAML based configurations for non-WASM schema based plugins. This is an alternative to TOML, but supports all the same settings.
- We now cache all text-based HTTP requests made from WASM plugins for 12 hours. This should greatly reduce the overhead cost of making requests, and will help for situations where an internet connection is lost.
- WASM API
- Added
ExecutableConfig.primary
.
- Added
LocateExecutablesOutput.exes
.
- Added
ToolMetadataOutput.minimum_proto_version
.
- Added
ParseVersionFileInput.path
.
🐞 Fixes
- Fixed an issue where
proto upgrade
would pin proto
to ~/.proto/.prototools
.
🧩 Plugins
- Updated
bun_tool
to v0.14.
- Updated
deno_tool
to v0.13.
- Updated
go_tool
to v0.14.
- Updated
node_tool
to v0.13.
- Updated
node_depman_tool
to v0.14.
- Updated
python_tool
to v0.12.
- Removed
python<major>
and pip<major>
executables. Use the new bins feature instead.
- Added
~/.local/bin
as a globals lookup directory.
- Updated
rust_tool
to v0.12.
- Updated
schema_tool
to v0.16.
- Removed
platform.*.bin-path
support (use exe-path
instead).
- Deprecated
install.primary
and install.secondary
.
- Added
install.exes
for defining primary and secondary executables.
⚙️ Internal
Download proto_cli 0.42.0
0.41.7
Release Notes
🐞 Fixes
- Fixed an issue where command lookup within
PATH
may return an invalid result.
Download proto_cli 0.41.7
0.41.6
Release Notes
🚀 Updates
- Added more internal logging when executing commands or making requests.
- Updated
PROTO_DEBUG_COMMAND
environment variable to support streaming the output of a running command to the terminal if set to "stream".
Download proto_cli 0.41.6