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.