Skip to content

v0.4.0

Choose a tag to compare

@3nderXP 3nderXP released this 12 Jul 06:02
· 15 commits to main since this release
d1358d2

Elo v0.4.0

Elo v0.4.0 introduces an interactive terminal interface, reorganizes commands
by context, and adds safe self-uninstallation.

Interactive interface

Run Elo without arguments to open the new Gum-powered interface:

elo

Use the arrow keys to navigate and Enter to select actions. The interface
covers initialization, instance management, addon management, status, updates,
and self-uninstallation.

The installer automatically provisions Gum in Elo's private tools directory.
It does not use sudo, modify the system package manager, or expose Gum as a
global command.

Contextual commands

Instance operations now live under elo instances:

elo instances create fabric-1_21 --version 1.21 --loader fabric
elo instances activate fabric-1_21
elo instances list
elo instances reset
elo instances remove fabric-1_21

Addon and provider operations now live under elo addons:

elo addons search sodium --instance fabric-1_21
elo addons install fabric-1_21 sodium
elo addons list fabric-1_21
elo addons adopt fabric-1_21 mods/manual-addon.jar
elo addons remove fabric-1_21 sodium
elo addons provider set modrinth

Breaking changes

The previous flat commands were removed without compatibility aliases.

Previous command Replacement
elo new elo instances create
elo link, elo switch elo instances activate
elo reset elo instances reset
elo list elo instances list
elo remove elo instances remove
elo search elo addons search
elo install elo addons install
elo addons <instance> elo addons list <instance>
elo adopt elo addons adopt
elo uninstall <instance> ... elo addons remove <instance> ...
elo provider elo addons provider

Scripts using the old command structure must be updated. Unknown legacy
commands now return exit code 2.

Self-uninstallation

Elo can now uninstall itself:

elo uninstall

The command restores original Minecraft directories, removes the installed Elo
releases and command, and preserves instances and downloaded content under
~/.elo.

To permanently remove Elo data as well:

elo uninstall --purge

Unsafe purge paths such as / and $HOME are refused.

Gum isolation and migration

New installations keep Gum private to Elo. Other scripts cannot accidentally
start depending on Elo's copy, and removing Elo cannot affect a system or
package-manager installation of Gum.

Older development installations may have exposed Gum through
~/.local/bin/gum. When Elo detects that legacy symlink during
self-uninstallation, it preserves a standalone executable so existing consumers
continue to work.

What's Changed

Full Changelog: v0.3.0...v0.4.0