# Updates

> How a new release reaches this station: where the station stands, the check, the download, the restart that installs, ignoring a release, the two switches, a release the perpetual license does not cover, and the mark on the status bar.

Updates is the first row of the APPLICATION group on the Settings page. The station checks the release feed on the Ganter site when it starts and every four hours after that, and **Check now** asks at once; this section says what the last check found, decides what happens with it, and is the one place a release is downloaded and installed by hand. Changing an update setting also checks again at once, and the site counts every check per day, version and channel, keeping neither the IP address nor anything that identifies the station. The page takes the **Change settings** permission.

## Where the station stands {#where-the-station-stands}

The card opens with one line that says where this station stands. Under it, the version the station runs and when the feed last answered ("Installed: X · Last checked: date and time"); at the end of the line, the commands. The switches come after, below a divider.

| Situation | The line says | Under it | Commands |
| --- | --- | --- | --- |
| No check has gone through since the app started | "Not checked yet" | "Installed: X" | Check now |
| The feed offers nothing newer | "This station is up to date" | "Installed: X · Last checked: …" | Check now |
| The last check did not go through | "The last check did not go through" | "Installed: X · Last successful check: …" (the time only once a check has gone through), then "This station cannot say whether it is current. It keeps running the version it has and tries again on its own. What came back: …" | Check now |
| A newer release, automatic updates off | "Version Y is available" | "Automatic updates are off, so nothing downloads until you choose to." | Check now, Ignore this version, Download update |
| A newer release, automatic updates on | "Version Y is available" | "Automatic updates are on, so it is downloading in the background." | Check now, Ignore this version, Download update |
| A newer release the perpetual license does not cover, automatic updates on | "Version Y is available" | "Automatic updates do not download it, because installing it leaves the perpetual license. Download it here if you decide to." | Check now, Ignore this version, Download update |
| The release is on disk | "Version Y is ready to install" | "It installs the next time Ganter Lab restarts." | Check now, Ignore this version, Restart and update now |
| A build that does not update itself: a development or portable run, or no feed configured | "Version X" | Nothing | None |

When a download or a check fails while a release is on offer, the release keeps the line and the sentence under it becomes "The last attempt did not go through. What came back: …".

Below that, in this order, when they apply:

- "The status bar no longer announces version Y. It announces the next newer version when one comes out.", in place of **Ignore this version** once Y has been ignored;
- "This station runs a preview version and preview versions are off, so it returns to the regular track with the next regular release.", when the installed version is a preview and **Receive preview versions** is off;
- for a release flagged as important, a notice in the caution tone: "Version Y contains important fixes. Installing it when convenient keeps this station protected. Nothing installs that this station did not ask for.";
- for a release the station's perpetual license does not cover, a notice in the caution tone: "Version Y is not covered by the perpetual license of this station, which covers every version of 2026 and earlier. Installing it leaves the perpetual license: the station then runs in Free mode until the license is renewed on the website or it goes back to a covered version." (see [Perpetual license](#perpetual-license));
- while a release is on offer: "After updating, open the screens this station runs once: a new version can change how system symbols and components are drawn. Nothing you configured is lost.";
- "What's new in Y", folded: opening it shows the release notes in a box that scrolls, the same English text the site's release page shows.

| Command | What it does | Greyed when (situation) | Not drawn when (role) |
| --- | --- | --- | --- |
| Check now | Asks the feed at once, the same check the start and the four-hour timer run; reads "Checking…" meanwhile. With automatic updates on, a release it finds starts downloading, as with any check. A check that fails says so on the line, and the station keeps what it had. | While a check or a download runs. | Drawn only on a build that updates itself. |
| Ignore this version | Stops the status bar from announcing the release on offer, on every screen of the station, and says "Version Y ignored." in the status bar. The button gives way to the line above, and there is no undo: a different release on offer (a newer one, or the preview channel's) brings the mark and the button back. Nothing else changes: the version, its notes and Download update stay here, and with automatic updates on the release still installs on the next restart, unless the perpetual license does not cover it: automatic updates never take such a release. A release with important fixes is ignored like any other. | Never. | Drawn only while a release is available or downloaded and has not been ignored. |
| Download update | Downloads the release found by the last check; reads "Downloading…" meanwhile. A failed download leaves the release available, re-offers the button and says why under the line and in the status bar. On a release the perpetual license does not cover, it asks first (see [Perpetual license](#perpetual-license)). | While a download runs. | Drawn only while a release is available and not yet downloaded. |
| Restart and update now | Exits the app through the normal teardown and lets the updater swap the files and relaunch. On such a release it asks first as well, unless leaving the license was already confirmed for that release since the app started. | In a browser on another device: "Available on the station's local desktop only." | Drawn only while a release is downloaded. |

The restart refuses calmly while a recording runs: a notification titled "Update deferred" says "A recording is running. The update installs on the next restart, or restart from here once the recording finishes." A downloaded release also installs on any ordinary exit, from the tray's Exit included: the updater waits until the process has fully left and then swaps the files, so nothing is replaced under a running app. A downloaded release that no exit installed, because the app crashed, was forced to end or Windows closed the session, installs at the next start. A release the perpetual license does not cover is not kept waiting for either: unless leaving the license was confirmed, it is removed from disk (see [Perpetual license](#perpetual-license)).

## Perpetual license {#perpetual-license}

On a station whose perpetual license the site has confirmed (see [Perpetual license](account-subscription#perpetual-license)), a release of a later year than the license covers would take the station off that license: once installed, the station runs in free mode until the license is renewed on the site or the station goes back to a covered version. It keeps its perpetual license meanwhile, so a subscription of the same account does not take it over. This section says so and never takes that step on its own.

| Where | What happens |
| --- | --- |
| Under the release | The caution notice quoted above. |
| Automatic updates on | They never download or install such a release. The line under the headline reads "Automatic updates do not download it, because installing it leaves the perpetual license. Download it here if you decide to." |
| Download update, Restart and update now | Both ask first, in a dialog titled **Leave the perpetual license?**: "The perpetual license of this station covers every version of 2026 and earlier, and version Y is newer. Once it is installed, the station runs in Free mode until the license is renewed on the website or it goes back to a covered version. To keep the perpetual license, stay on the version this station runs, or renew the license on the website first." **Keep the perpetual license** closes it and changes nothing; **Leave the perpetual license** goes ahead with the download or the restart. The yes holds for that release until the app exits, so Restart and update now does not ask again after a confirmed download; after a new start, or for a different release, the dialog asks again. |
| A release already on disk | It is not kept. Unless leaving the license was confirmed in that dialog, such a release is removed from disk, whether it was downloaded while the station was on a subscription, before it moved to a perpetual license, or by an earlier start: at every check, the first one after a start included, whenever the station's license changes, and at an exit. The release is then offered again as available, with Download update. A release confirmed in that dialog stays on disk and installs like any other: at once with Restart and update now, at the next exit, or at the next start when the app did not exit normally. One case comes before all of this: a release downloaded on a subscription that no exit installed installs at the next start, before the station learns that it moved to a perpetual license meanwhile; the station then runs in free mode as described above. |
| Status bar | The mark is not drawn for such a release. |

A release of a year the license covers is offered like any other. The comparison is made against the license the station holds now: once the license is renewed on the site and the station has reached the site, the next year's releases are ordinary ones. None of this applies to a station on a subscription, to one without a license, or to one whose perpetual license already does not cover the version it runs.

## The two switches {#the-two-switches}

| Field | What it is | Values / default | Effect |
| --- | --- | --- | --- |
| Automatic updates | "Downloads each new release by itself and installs it the next time Ganter Lab restarts. Older versions are not maintained." | On or off. Off by default. | Flipping it re-checks the feed at once. On: a found release is downloaded in the background (a delta when possible) and applied at the next exit, or at the next start when the app did not exit normally; a release the perpetual license does not cover is never downloaded this way. Off: the feed is only consulted, and nothing downloads until you press Download update. Turning it off does not undo a download already made: that release still installs at the next restart. |
| Receive preview versions | "Get each new release early and help validate it on this machine. Turned off, the station returns to the regular track at the next regular release, never to an older version." | On or off. Off by default. | Flipping it re-checks at once. On: the station reads the preview channel, which receives each build first; off: the regular channel. Switching off never downgrades: the station keeps the preview build it has until the regular channel offers a newer version, and the card says so while it waits. |

While the runtime is stopped this page is not drawn at all (see [Settings](settings)). A release marked as carrying important fixes changes only what the surfaces say, never what they do: with automatic updates off it still waits to be taken.

## The mark on the status bar {#the-mark-on-the-status-bar}

A waiting release is announced by one line at the end of the indicator group, on the left of the status bar after recordings: "Update available", or "Update with important fixes" in the caution tone. It names no version: the number is read here. Its tooltip adds whether the release is already downloaded and that clicking opens Settings, Updates, which the click does. The mark is drawn per screen for the identity looking at it: only a role holding **Change settings** answers for the station's version, so an operator at a remote tablet never sees a decision that is not theirs. It is never a notification card and it interrupts nothing. Once the release on offer has been ignored here, the mark leaves every screen of the station until the feed offers a different release. Nor is it drawn for a release the station's perpetual license does not cover.

## The release line and the feed {#the-release-line-and-the-feed}

Releases are one continuous line: a fix ships in the next release, never back into an older version, which is why staying current is the recommendation and why the moment is this station's choice. The feed is open regardless of subscription, so every install can take security fixes; entitlement is enforced at runtime, never by withholding updates. The app is installed per user with no administrator, and it updates the same way.

## What this section does not do {#what-this-section-does-not-do}

There is no version list to pick from, no rollback and no downgrade, and no way to install a release the feed does not offer. **Ignore this version** has no undo, and it only quiets the status bar: it never keeps a release from installing while automatic updates are on (they never take one the perpetual license does not cover). Leaving automatic updates off is the way to stay on a version, and the documentation keeps a snapshot per release for a station that does. It does not remember a confirmation to leave the perpetual license: the yes lasts until the app exits, and without it a release the license does not cover is removed from disk rather than kept, even one downloaded before the station held the license (the one case this does not reach is under [Perpetual license](#perpetual-license)).
