Upgrade a bench
Upgrading moves a bench to a newer release of PLESTY Bench, the application itself. What the bench holds — its installed device and experiment modules, fleets, device configuration, logs and runs — is untouched by it. To update a module instead, see Install and update modules.
A bench is always exactly the release it installed: the installers pin the version they were built for, never latest, so nothing changes under a running bench until someone upgrades it.
Knowing there is one
When a newer release is out, the status bar says so on start — Update available: plesty-bench 0.5.1 — and clicking it opens Help ▸ Check for updates…. The console asks PyPI at most once a day, and says nothing when there is no network. Server ▸ Configure… ▸ Check for updates at start turns it off.
Upgrade from the console
Help ▸ Check for updates… shows the version installed and the newest one on PyPI.
Press Update. It closes the app — asking first if servers or jobs are running, as closing always does — and opens the Updating PLESTY Bench window, which shows the install as it runs.
When it has finished, the window says how it went and offers Open PLESTY Bench, or Close to open it later.
If the install fails, the version you had stays in place and the window says
why. The details are in %LOCALAPPDATA%\PLESTY Bench\update.log on Windows
and ~/.local/state/plesty-bench/update.log on macOS and Linux.
Help ▸ About keeps the details of the running version: how and where it is installed, its Python, the last update — from which version to which, when, how it went, with its log — and a link to what changed in this version.
Upgrade by hand
On macOS and Linux, name the release:
uv tool install --force "plesty-server[gui]==0.5.0"
uv tool upgrade plesty-server does not move a bench the installer set
up: uv keeps the version the tool was installed with, and the installer
installed an exact one. It does upgrade an installation made by hand without a
version.
On Windows the application is not in uv’s tool environment (why), so by hand the upgrade goes through its own environment, with the app closed:
& "$env:LOCALAPPDATA\PLESTY Bench\app\Scripts\python.exe" -m pip install --upgrade "plesty-server[gui]"
Running the newer release’s setup.exe over the installed one upgrades it
too.
A copy run from a source checkout is not an install and offers no Update;
update the checkout itself (git pull, uv sync).
The client on another machine
The client you drive benches with from your own machine upgrades on its own:
uv tool upgrade plesty-bench
Client and bench do not have to match — describe reports the bench’s
version, and the client’s own commands are stable — but a feature added on one
side needs the other. See Work from another machine.