Skip to content

Try a preview

A preview is a next build: Mend from main, published before the release it leads to. Its version reads like 0.36.0-next.56. It passed the same packaged acceptance as a release; it has not been used for long, and it can change before the release.

  • A server moves forward only. mend server upgrade refuses a lower version, because database migrations do not run backwards. A server on 0.36.0-next.56 can take a later next build or 0.36.0, never 0.35.1 or 0.36.0-next.50.
  • A patch release may be behind you. A preview of the next minor (0.37.0-next.4) is higher than a patch released after it (0.36.1), so a server on it skips that patch and waits for 0.37.0. Previews of a patch (0.36.1-next.2) lead to the patch.
  • Use a server you can rebuild, or back up its Docker volumes first. The upgrade’s SQL dump does not cover repositories, session captures or SSH identity.
  • Everything else is the same. A preview server is set up, operated and upgraded with the commands in Install Mend.
Terminal window
npm install --global @sealant/mend@next
mend version

mend version prints the version npm installed. Then, on the server machine:

Terminal window
mend server setup

Setup installs the server at the CLI’s version: ghcr.io/sealant-sh/mend:<version> and the setup assets of the GitHub prerelease v<version>. The image carries the Sealant runtime that version pins, which may itself be a prerelease.

Clients on other devices install the same CLI with the same npm install line. When a client and its server differ, mend version says versions differ — the server's API wins; keep them on the same version.

Terminal window
npm install --global @sealant/mend@next
mend server upgrade --version "$(npm view @sealant/mend@next version)"

The upgrade backs up the databases, stops Mend’s writers and starts the new version, as it does for a release.

A server on a preview numbered before the next channel (0.36.0-preview.K) sorts above every next build of its version, so a plain upgrade refuses it as a downgrade. Add --from-preview once: it moves the server to a next build of the same version, after checking that the target carries every migration the server applied.

When the release ships:

Terminal window
npm install --global @sealant/mend@latest
mend server upgrade --version latest

--version latest resolves the newest release, never a preview, and a release is higher than every preview of it. After that the server follows releases until you install @next again.

A preview found broken after publishing is deprecated on npm, and next is moved back, so npm install @sealant/mend@next installs the previous one again. A server already on the withdrawn version cannot go back: upgrade to the next preview that replaces it. Its GitHub prerelease says which one.

mend doctor --bundle writes one redacted diagnostic archive. Attach it to an issue at github.com/sealant-sh/mend with the version from mend version. Read Troubleshooting.