Installation and releases

Install

The installer downloads one native executable, verifies its SHA-256 checksum, and places it in ~/.local/bin.

curl -fsSL https://xal.sh/install | sh

This command installs the latest stable release. The supported targets are:

Operating systemArchitecturesVariants
macOSx64, arm64Native
Linuxx64, arm64glibc, musl
Windowsx64, arm64Native .exe

Windows installation requires a POSIX shell such as Git Bash, MSYS2, or Cygwin. Running the command in WSL installs the Linux build inside WSL.

Set XAL_INSTALL_DIR on the shell that runs the installer to choose another destination:

curl -fsSL https://xal.sh/install | XAL_INSTALL_DIR="$HOME/bin" sh

The destination must be on PATH before xal can be invoked by name.

Channels

Stable is the default channel. Install the newest beta with:

curl -fsSL https://xal.sh/install | sh -s -- --beta

xal update preserves the channel encoded in the installed version:

xal update
xal update --beta
xal update --stable

A beta version has the form X.Y.Z-beta.N. Stable versions use X.Y.Z.

Beta releases

Every push to main runs .github/workflows/release-beta.yml. The workflow runs all repository checks, derives the beta version from apps/cli/package.json and the commit count, and builds every supported target.

Each successful run publishes:

The installer and updater resolve the rolling pointer first, then download the executable and checksums from the complete versioned prerelease.

Change the version in apps/cli/package.json on main when beta development should begin for a new stable version.

Stable releases

Run the Release stable workflow manually with:

The workflow verifies that the beta is a published prerelease reachable from main and that its base version matches the requested stable version. It checks out the beta's resolved commit, rebuilds every target with the stable version embedded, and publishes vX.Y.Z as the latest stable GitHub release. Existing stable tags cannot be overwritten.