Upgrade
driverforge keeps itself, the Anvil Agent, and your embedded SDK current. Here's how
the pieces fit.
Update notices
After a command runs, the CLI checks (at most once a day, cached) whether a
newer driverforge release is available, and prints a one-line notice if so. It's quiet
by design: the notice goes to stderr, never stdout, and never appears in CI or
non-interactive shells. Turn it off with --no-update-check.
Upgrading the CLI
driverforge is installed by a package manager, which owns the binary, so you upgrade
it the same way you installed it:
brew upgrade driverforge # macOS
scoop update driverforge # Windows
# Linux / WSL: re-run the install script
sh -c "$(curl -fsSL https://go.driverforge.com/get)"
driverforge upgrade shows everything upgradable in one place: the CLI
(advisory: it prints the exact command for how you installed it), the agent, and
the embedded SDK. It applies them interactively.
Upgrading the Anvil Agent
The driverforge upgrade picker is how agents get upgraded: select
the Anvil Agent row and confirm, and the CLI updates the agent on the
selected controller to the latest release. Upgrades are
interactive-only: non-interactively, driverforge upgrade reports and never
mutates.
Upgrading the SDK
The Driverforge SDK is embedded in your driver, and the SDK row of the
driverforge upgrade picker is the only way to update it. It
re-embeds the latest release; a clean git tree is required.