Updating

How it works

Once a day, in the background, Zyvra downloads one small signed file that names the newest release. If there is one, the sidebar shows Update available, and Settings shows the release notes. Nothing is installed until you ask, unless you have switched on automatic installs.

Install an update

Open Settings (the version at the bottom of the sidebar leads there) and click Update now. Or, in a terminal:

zyvra update

Either way, Zyvra downloads the release, then checks three things before it changes anything:

  1. The release information is signed with Zyvra’s release key (built into your copy).
  2. The download matches the signed checksum.
  3. The new program starts and reports the expected version.

Only then does it replace the old program. It never installs an older version, and your projects are not touched. The running copy keeps its old code until you restart it, so Settings then says Restart to finish: stop Zyvra and start it again (zyvra down, then zyvra up).

To only look, click Check for updates in Settings, or run zyvra version --check.

Install automatically

In Settings, switch on Install updates automatically. A new release is then downloaded and installed as soon as it is found, with the same checks as above, and you restart Zyvra when it suits you. It is off unless you switch it on. If an automatic install fails, Zyvra shows why and does not keep retrying the same release; Update now tries again.

Turn the check off

In Settings, switch off Check for updates daily (this also switches off automatic installs), or set ZYVRA_NO_UPDATE_CHECK=1 in the environment, which also forbids installing. Check for updates still works by hand when the daily check is off.

Installed with a package manager?

Update with the package manager instead (brew upgrade zyvra, scoop update zyvra). Settings and zyvra update tell you so rather than replacing a file the package manager owns, and automatic installs never touch such a copy.

What the check sends

Only your Zyvra version, operating system and processor architecture, in the request header, plus the IP address any web request has. See Privacy.

If the release server is busy

The release host can answer “too many requests”. Zyvra then asks this website, which serves the same signed file, and if that fails too it explains in plain words, waits as long as the server asks, and tries again later. Nothing breaks in the meantime.

Verify a release yourself

See How we verify downloads.