devpit

Staying up to date

How devpit updates itself, and why your terminals survive it.

Once installed, devpit checks for a new release when it opens and every hour after that. When it finds one, it offers it in a card, so there is nothing to run by hand. On Linux and macOS your terminals keep running through an update: they are tmux sessions, and tmux does not go down with the window. On Windows they close — see below.

The card

The offer appears as a card in the corner of the window, not as a dialog, because an update is not urgent enough to take over the keyboard. The card never decides for you. The download starts when you click, and so does the restart.

  1. Update available: Update starts the download. Release notes opens what changed, taken from the changelog.
  2. Update ready: Restart now installs it. The card says what happens to your terminals: "Your terminals keep running.", or on Windows "Your terminals close: the installer ends them."
  3. If runs or chat turns are still going, the card names them and asks what to do: Not now, When it is done, or Stop it and restart. While the update waits, nothing new starts.

Closing the card puts the update off. If an update fails before anything was installed, the card says why and offers Check again.

Per install

Install What an update does
AppImage Downloads, verifies the signature, installs over itself and restarts.
.deb Downloads and verifies, then the card offers Install, which installs through polkit, which asks for your password, so devpit never holds root itself. Once the package is in, it restarts into the new version.
macOS Downloads the .app, checks the signature and replaces itself.
Windows Downloads the installer, checks the signature, runs it and reopens. Your terminals close: Windows will not replace a program that is running, so the installer ends the psmux inside devpit first. See Windows.

The signature is checked against a public key compiled into the devpit you are already running. On a machine without polkit's pkexec, the .deb card shows the install command for you to run yourself.

Updating to 0.1.6 still meant closing and reopening devpit by hand. From 0.1.6 on, it restarts itself. On macOS, a copy in Applications older than 0.1.31 is never offered an install: run the install line once to reach it, and it updates itself from then on.

If some other system installed your copy, devpit does not replace it. It says "This copy is looked after by your system, so update it there."

Which devpit this is

The left end of the status strip shows the version you are running. A click copies it, with the platform, which is what a bug report starts with. When a newer one is on its way, a dot says so, and the click brings the update card forward instead.

In Settings

Settings → General, under Updates and privacy, holds both controls:

  • Automatic updates: "Check in the background and offer to install." This is on unless you turn it off.
  • Updates: shows the version you have next to a Check now button. Once a newer version is found, the button becomes Update, and pressing it follows the download and brings the update card forward. Settings only starts it; the card takes over from there.

To catch up by hand, run the install line again. Every release, and what changed in it, is listed in the changelog.