aster.ax / Docs

Updating ax

Check whether a newer signed release is available, then install it:

ax update --check
ax update

Both commands support the global --format json option. Checks verify the release signature and metadata. Installation also verifies the archive and executable, checks the platform requirements and runs the candidate's version check before switching the executable. Equal or older versions are never installed by this command. The release installer supports deliberate rollback with --version.

The release installer keeps each version in its own checksum-named directory and switches the bin/ax symlink. Updating retains the previous directory. A standalone binary is replaced atomically and the old executable is saved beside it with .previous appended to its filename (normally ax.previous). Installation failures preserve the selected executable. The updater needs write access to its installation directory and never requests elevation.

Running daemons continue using their current executable. Restart the local broker when ready:

ax exec daemon restart

SSH deployments use a separate versioned installation and service configuration. Update the owner CLI, then run the existing ax deploy ssh command again for each host. The self-updater refuses to alter SSH deployments, installations from an unpublished updater, Cargo build outputs, package-managed binaries and containers; use their existing deployment, build, package manager or image update path.

Release daemons check once after startup and every 24 hours. A new version is announced once per daemon lifetime in its log. Check failures do not affect messaging or execution. Set AX_UPDATE_CHECK=0 in the daemon environment to disable these automatic checks. Unpublished versions skip background checks. Nothing is installed or restarted automatically.

The current signed packages cover macOS ARM64 and Linux ARM64/x64 with glibc. The signed manifest states the minimum operating-system/library versions. Other platforms, including native Windows, do not yet have a published update package.

After a successful update, ax removes downloaded deployment binaries for other OS/CPU/ABI combinations from AX_HOME/cache/deploy. A later deployment downloads the matching binary for the new source release. Check-only, no-op and failed updates leave this cache alone. Installed versions, rollback copies and supplied bundles are never part of this cleanup. Deployments already transferring a binary retain their selection until the transfer finishes. A cleanup failure is reported separately from the successful installation.