Updates
How the IDE updates itself, what it verifies, and how to turn it off.
The IDE checks knightcode.dev for a newer release once an hour and on every
launch, downloads it in the background, and installs it when you next restart.
There is no separate updater to run.
What it verifies
Every release publishes a detached signature beside each installer, made with a key that exists in exactly two places: a GitHub Actions secret, and the owner's password vault. The IDE holds the matching public key, compiled in, and refuses to install anything whose signature does not verify against it.
That is the check that matters, and it is the reason an unsigned installer is tolerable: the download you took by hand is unverified, but every update after it is not.
Turning it off
{
"auto_update": false
}With it off, nothing is downloaded and nothing is checked. The download page always serves the newest release.
Where a downloaded update goes
- Windows: a helper replaces the installed files on the next launch, then removes itself.
- macOS: the new
.appreplaces the installed one in place. - Linux: the extracted tree is rsynced over the installed one, which is
usually
~/.local/knightcode.app.
On every platform the engine in engine/ is replaced along with the editor, so
the two never disagree about the protocol between them.
Release notes
Each release's notes are on its GitHub release page, which the update notification links to.