release

dotMage 2.1 — one verb, one command, less to remember

July 20, 2026

2.1 is a friction release. Nothing about the model changed — still end-to-end encrypted, still your own tiny server — but the day-to-day got shorter: one verb instead of remembering pull vs push, one command to open the panel, Tab that actually completes, and an admin panel you can do things in.

Highlights

dmage sync — one verb for the 90%

It decides for you: pulls when the server is ahead, pushes your local changes, and if both moved it shows a key-level diff and asks — no silent merge.

$ dmage sync
  ✓ in sync (rev 7).
$ dmage sync            # after editing .env
  local changes → pushing
  ✓ Pushed revision 8.

Bare dmage in a project now hints when you have unpushed changes.

dmage open — the admin panel, already logged in

$ dmage open
  ✓ Opening admin panel — http://your-server:9471
  Logging you in automatically (one-time link, valid 5 min).

Finds the panel from /health and signs you in with a one-time token carried in the URL fragment — it never reaches the server's logs.

dmage completions — stop memorizing flags

$ dmage completions zsh > ~/.zfunc/_dmage

bash / zsh / fish / elvish / powershell. Homebrew installs them automatically.

An admin panel you can actually use

A Settings page with the server version and an update banner (flip a toggle to follow the dev channel); team management — change roles, remove members; and Add a device — mint a one-time enrollment link right from the browser. Still metadata-only: the panel never sees your secret values.

Fixes worth calling out

dmage gen-ci-token was failing with missing field token_expires_at — fixed on both client and server. The server Docker image builds cleanly again.

Changelog

Added

Fixed

Downloads

CLI binaries and SHA256SUMS: github.com/dotMage/dotmage/releases/tag/v2.1.0

brew upgrade dotmage        # Homebrew
dmage upgrade               # self-update from any direct-binary install

Server & web ship as ghcr.io/dotmage/{server,web}:2.1.0 (and :2). Re-run the installer to update:

curl -fsSL https://raw.githubusercontent.com/dotMage/server/main/install.sh | bash
◂ All posts