Releases: moonrepo/proto
Releases Β· moonrepo/proto
0.31.0
Release Notes
In preparation for an official v1 release, improved stability, and overall developer experience, we're renaming some commands, and removing the "global packages" functionality.
π₯ Breaking
- Renamed the
proto tool
commands to proto plugin
.
- Removed the
proto tool list-plugins
command, and merged its functionality into proto plugin list
.
- Removed the
proto install-global
, proto list-global
, and proto uninstall-global
commands.
- Removed support for the old user config feature (
~/.proto/config.toml
) which was removed in v0.24.
- Removed support for
aliases
and default_version
in the tool manifest, which was also removed in v0.24.
- Removed the
proto migrate 0.20
and proto migrate 0.24
commands.
- WASM API
- Removed
get_tool_id
and get_proto_environment
helper functions.
- Removed
install_global
and uninstall_global
plugin functions.
- Removed
InstallGlobalInput
, InstallGlobalOutput
, UninstallGlobalInput
, UninstallGlobalOutput
types.
π Updates
- Added a
--resolve
option to proto pin
, which will resolve the version to a valid value before pinning.
- Added
--aliases
and --versions
options to proto plugin list
.
- Added aliases to
proto plugin info
.
- Updated
--pin
option in proto install
to support "local" and "global" values, allowing the config location to be customized.
- When
--pin
is passed without a value, will default to "global" for backwards compatibility.
- WASM API
- Updated the
pre_run
hook to return a result, allowing args/env vars to be injected into the running command.
π Fixes
- Fixed an issue where empty version strings were being parsed, causing failures.
𧩠Plugins
- Updated
bun_plugin
to v0.10.
- Updated
deno_plugin
to v0.10.
- Updated
go_plugin
to v0.10.
- Updated
node_plugin
and node_depman_plugin
to v0.10.
- Removed the
intercept-globals
config setting.
- Added a new
shared-globals-dir
setting, which injects args/env vars into npm/pnpm/yarn commands when they attemp to install global packages.
- Updated
python_plugin
to v0.8.
- Updated
rust_plugin
to v0.9.
- Updated
schema_plugin
(TOML) to v0.9.
- Removed
globals
and shims
settings.
- Added a
platform.*.archs
setting, to limit what architectures are supported for that OS.
- Added a
packages
setting for managing global packages. Supports globals_lookup_dirs
and globals_prefix
sub-settings.
Download proto_cli 0.31.0
0.30.2
Release Notes
𧩠Plugins
- Updated
deno_plugin
to v0.9.1.
- Added Linux ARM64 support (requires Deno >= v1.41).
βοΈ Internal
Download proto_cli 0.30.2
0.30.1
Release Notes
𧩠Plugins
- Updated
rust_plugin
to v0.8.1.
- Uses the full triple target when installing and uninstalling toolchains.
- Updated
schema_plugin
(TOML) to v0.9.1.
- Updated our regex to support Perl syntax like
\d
.
βοΈ Internal
Download proto_cli 0.30.1
0.30.0
Release Notes
π₯ Breaking
- WASM API
- Updated
VirtualPath::real_path
to return an Option
if conversion fails.
π Updates
- Updated
proto setup
(which is ran during proto installation) to be interactive.
- Will now prompt you to choose which shell profile to modify, or not at all.
- Improved the output messages based on the state of the install.
- Added
--no-profile
and --yes
arguments to control this.
π Fixes
- Attempted fix for PowerShell profile updates when using Windows 11 and OneDrive folders.
𧩠Plugins
- Updated
node_plugin
and node_depman_plugin
to v0.9.1.
- Added version detection support for
volta
in package.json
.
βοΈ Internal
Download proto_cli 0.30.0
Version 0.30.0-rc.0
Release Notes
π₯ Breaking
- WASM API
- Updated
VirtualPath::real_path
to return an Option
if conversion fails.
π Updates
- Updated
proto setup
(which is ran during proto installation) to be interactive.
- Will now prompt you to choose which shell profile to modify, or not at all.
- Improved the output messages based on the state of the install.
- Added
--no-profile
and --yes
arguments to control this.
π Fixes
- Attempted fix for PowerShell profile updates when using Windows 11 and OneDrive folders.
𧩠Plugins
- Updated
node_plugin
and node_depman_plugin
to v0.9.1.
- Added version detection support for
volta
in package.json
.
βοΈ Internal
Download proto_cli 0.30.0-rc.0
0.29.1
Release Notes
π Fixes
- Fixed virtual path conversion issues on Windows (mostly affected
rust-plugin
).
Download proto_cli 0.29.1
0.29.0
Release Notes
π₯ Breaking
- WASM API
- Renamed
err!
macro to plugin_err!
.
- Renamed
get_tool_id
to get_plugin_id
.
- Renamed
get_proto_environment
to get_host_environment
.
- Renamed
/workspace
virtual path to /cwd
.
- Renamed
ExecCommandInput.env_vars
to env
.
- Removed
HostEnvironment.proto_dir
field.
- Updated
plugin_err!
result to not be wrapped in Err
.
- Updated
VirtualPath::join
to return VirtualPath
instead of PathBuf
.
π Updates
- Added
env
and tools.*.env
settings to .prototools
to support environment variables.
- Will automatically set variables when a tool is executed.
- Allows for directory-level and tool-specific variables.
- Added support for environment based config files, like
.prototools.production
.
- Takes higher precedence than
.prototools
.
- Can be enabled with the
PROTO_ENV
environment variable.
- Updated
proto tool info
to display aliases and environment variables.
- Updated WASM logs to be shown alongside proto's
--log
output (under the extism::pdk
namespace).
- WASM API
- Added color support to error and host log messages through an HTML-like tag syntax.
- Added
real_path!(buf, ..)
and virtual_path!(buf, ..)
macro variants for working with Path
and PathBuf
.
- Added a
fetch_url_bytes
function.
- Improved the implementation of many PDK macros.
𧩠Plugins
- Updated
bun_plugin
to v0.9.
- Updated
deno_plugin
to v0.9.
- Updated
go_plugin
to v0.9.
- Updated
node_plugin
and node_depman_plugin
to v0.9.
- Changed the
bundled-npm
and intercept-globals
settings to be false
by default (instead of true
).
- Updated
python_plugin
to v0.7.
- Updated
rust_plugin
to v0.8.
- Updated
schema_plugin
(TOML) to v0.9.
- Added
globals.bin
setting, for customizing the bin used for installs/uninstalls.
Download proto_cli 0.29.0
0.28.2
Release Notes
βοΈ Internal
- Updates in preparation for the v0.29 release.
Download proto_cli 0.28.2
0.28.1
Release Notes
π Updates
- WASM API
- Updated the
set_env_var
host function (and host_env!
macro) to append PATH
instead of overwriting it, and to also support virtual paths.
π Fixes
- Fixed
proto upgrade
moving the old binary to the wrong location.
𧩠Plugins
- Updated
rust_plugin
to v0.7.1.
Download proto_cli 0.28.1
0.28.0
Release Notes
This release primarily upgrades our WASM runtime. For plugin authors, you'll need to update to the latest PDK and publish a new version. Old plugins are incompatible.
π₯ Breaking
- WASM API
- Refactored the
HostLogInput
enum into a struct (this should be transparent if using the host_log!
macro).
- Removed support for old and deprecated APIs:
locate_bins
, create_shims
.
- Removed
get_proto_user_config
and format_bin_name
functions.
- Updated
get_tool_id
to return a Result<String>
instead of String
.
- WASM test utils
- Removed
WasmTestWrapper::set_environment()
method. Use create_plugin_with_config
and pass a config object instead.
// Before
let mut plugin = create_plugin("test-id", sandbox.path());
plugin.set_environment(HostEnvironment {
arch: HostArch::Arm64,
os: HostOS::Linux,
..Default::default()
});
// After
let plugin = create_plugin_with_config(
"test-id",
sandbox.path(),
HashMap::from_iter([map_config_environment(HostOS::Linux, HostArch::Arm64)]),
);
π Updates
- Will now display an upgrade message when the current proto version is out of date.
- Improved error messages when a system command does not exist.
- Improved error messages to include the plugin identifier when applicable.
- Updated our "last used at" logic to avoid race conditions with the tool manifest.
- WASM API
- Added
from_virtual_path
and to_virtual_path
host functions.
- Added
virtual_path!
and real_path!
macros.
- Added
ExecCommandInput.working_dir
field.
π Fixes
- Fixed an issue where command executions from the context of a plugin weren't taking virtual paths into account.
𧩠Plugins
- Updated
bun_plugin
to v0.8.
- Updated
deno_plugin
to v0.8.
- Updated
go_plugin
to v0.8.
- Updated
node_plugin
and node_depman_plugin
to v0.8.
- Updated
python_plugin
to v0.6.
- Updated
rust_plugin
to v0.7.
- Updated
schema_plugin
(TOML) to v0.8.
βοΈ Internal
- Updated Extism (plugin runtime) to v1 (from v0.5).
Download proto_cli 0.28.0