Korthveil checks the Korthveil update service for new versions and tells you what each one changes, what to do first, and whether it installs live (no restart, traffic keeps flowing) or needs one restart. Nothing installs until you press Install, unless you turn on an automatic window yourself. If an update does not work as it should for you, go back to the previous version in seconds.
At a glance:
| What | Where | What happens |
|---|---|---|
| A new version is found | Top bar: Update 1.x.y badge; System › Updates | Release notes, measures, live or restart |
| Install | System › Updates › Install | Downloaded, checked against the signed release list, then switched live. Usually only Korthveil itself (about 35 MB); when the system underneath changes, the whole system goes into the spare slot first |
| Go back | System › Updates › Previous version | Switches back to the version kept in the other slot; no download |
| Download in advance | Update settings › Download updates in advance | The image is ready before you press Install |
| Automatic installs | Update settings › Automatic installs | Only in the window you set; can be limited to live updates |
Most releases change only Korthveil itself: its services, the web console, the guides. Since 1.1.24, such a release is installed as a small Korthveil layer (about 35 MB instead of about 1.3 GB):
System › Updates says which kind each update is: Only Korthveil itself changes: a 35 MB download, or the size of the whole system. The firewall decides by itself: a layer is used only when it was built for exactly the system this firewall runs (the same Debian packages, kernel and firmware). Otherwise the whole system is updated, as below.

Going back after such an update uses the same button as always, Previous version: the Korthveil from before the update is still on the firewall, so nothing is downloaded.

Korthveil keeps two system slots on the disk. The running version is in one; an update is written into the other while the firewall keeps working. Then:
Every way, the new version must pass its health check (its configuration applies, the internet route and SentinelOps work). If it does not, the firewall goes back to the previous version by itself: the previous slot, or for a Korthveil layer the previous layer. The check always runs from the system's own copy of the update program, so even a broken update cannot stop it from going back.

The firewall checks every 6 hours. To check now: System › Updates › Check now. When a newer version exists, every page shows Update 1.x.y in the top bar.
The offer shows:
The release list is signed with the Korthveil release key built into your firewall: a changed or forged list, or an image that does not match it, is refused.
Press Install 1.x.y. A progress bar shows the download: about 35 MB when only Korthveil changes, about 1.3 GB when the whole system does. Then the firewall switches (after writing the spare slot, for a whole-system update). For a live update, the web console disconnects for about 15 seconds and comes back on the new version; the page shows the result under Last update.
Tip: turn on Download updates in advance (Step 4) and Install only switches: no waiting for the download.

If an update does not work as it should for you: System › Updates › Previous version › Go back to 1.x.y.
If the firewall no longer has the previous version in its other slot (for example after a fresh install), the update service keeps the previous release too: Install it from the same panel (only when it uses the same database format).

System › Updates › Update settings, then Save and commit:
System › Updates › Install from file takes either file a release ships: the update image korthveil-1.x.y-installer.img.zst (the whole system), or the Korthveil layer korthveil-1.x.y.layer.raw. A layer is installed only when it fits this firewall's system; otherwise the firewall says so and changes nothing.
With two Korthveil firewalls in a failover pair (see Two firewalls with automatic failover), update one at a time:
Automatic installs in a pair: only the standby firewall installs by itself in the automatic window. The active firewall waits for you (steps 2 and 3), so the two never restart at the same time.
| You see | Meaning | What to do |
|---|---|---|
| The last check failed: … cannot be reached | The firewall cannot reach the update service | Check DNS and the internet route; the check repeats on schedule |
| … not signed by the Korthveil release key | The release list was changed | Nothing is offered; report it |
| Not installed: the download does not match | A damaged download | Press Install again |
| Korthveil 1.x.y was not kept | The new version did not pass its health check | The firewall went back by itself; the reason is shown under Last update |
| This layer cannot be installed: it is for another base system | An uploaded Korthveil layer was built for other Debian packages, kernel or firmware | Nothing changed. Install the update image (korthveil-1.x.y-installer.img.zst) instead |
| The last attempt was not done (Previous version) | Going back was refused (for example the previous version predates live updates) | The reason is shown; install that version from the update service or a USB stick |