Releases

What changed, and when — written for somebody deciding whether to raise
MOB_VERSION.

How to update: Installing, under Updating. It is one
edit and two commands, and it is worth reading once before the first time.

This page has two copies and they answer different questions. The one you
are reading ships inside the image, so it stops at the release you are running:
it is the history of how you got here. The copy on the website carries the
releases that came out afterwards, which is the half you need before
upgrading. If you are checking whether to move, read that one.

Releases only go forwards, and nothing is skipped by being several behind —
migrations run through every release between yours and the one you raise the
pin to, in the order they were written. Take a backup first, and raise it when
somebody is around to look at the result.

033 — 30 August 2026

One screen, tidied. Nothing to do before or after: no migration runs, no new
environment variable, nobody is signed out, and nothing you have configured
changes meaning.

032 — 29 August 2026

Integrations grew their missing half: incoming webhooks, and an API that can
set up channels rather than only post into them. Two additive migrations run
on upgrade; nothing destructive, no new environment variable, nobody is
signed out, and nothing you have configured changes meaning.

031 — 21 August 2026

Sessions can now be ended on purpose — by the person who owns them, and by
whoever administers the organization. Nothing to migrate, no new variable, and
nobody is signed out by upgrading.

Under the surface, and worth one line for anybody who audits this sort of
thing: what Mob serves to a stranger is now pinned by two tests rather than by
grepping. Ten controllers and twenty-one actions are written down with the
reason each is public, and every route the app answers is swept with an
unauthenticated request to prove the door is shut by behaviour and not only by
declaration. Nothing about the public surface changed; it is now checked.

030 — 21 August 2026

A permission moved. Integrations are the organization's now, not each
workspace's, so a workspace admin can no longer make one or see its tokens.
Nothing to migrate and no new variable; every integration you already have
keeps working, in the same channels, with the same tokens.

029 — 21 August 2026

Mob looks different after this one, and that is the whole of what your
people will notice. Nothing to migrate, no new variable, no migration that
takes anything away.

028 — 21 August 2026

There is no 27 image. That release was tagged, its build failed before the
publishing step, and nothing was pushed to the registry — so MOB_VERSION=27
would find nothing to pull. Everything the entry below describes arrives here
instead: if you are on 026, take this one and read both entries.

027 — 21 August 2026

A fix to 026 worth taking straight away if you are on it, and an updater so
that taking it is one command.

026 — 21 August 2026

Administering Mob is now organised around the organization: the whole
installation, one company, with its workspaces as rooms inside it rather than
tenants beside each other. Almost everything in this release follows from
naming that properly.

Two things to do before you upgrade, and one to expect.

Name your owners in .env and restart:

MOB_ORGANIZATION_OWNERS=you@example.com
MOB_ORGANIZATION_OWNER_NAME=Your Name
MOB_ORGANIZATION_OWNER_PASSWORD=choose-something-long

Mob runs without them — you simply have nobody who can appoint an
administrator until they are there. If you deploy with Kamal, deploy.yml
must name them too, because Kamal sends only what it names.

This upgrade empties the event log. The log gained a new vocabulary with
the rename, and half a log speaking a retired word is worse than a clean one;
nothing is rewritten, the table is emptied whole, and the first line of the new
log records that it happened. If the history matters to you, take a backup
first — which is worth doing anyway.

025 — 20 August 2026

Mob will now tell you whether it is coping, on the screens the people who would
fix it already have open.

Nothing here needs configuring, and nothing here is switched on by asking
anywhere outside your installation. One new job runs every five minutes.

024 — 20 August 2026

Reading back through a channel now offers the way out of it. Nothing to
configure, and nothing changes for anyone sitting at the bottom of a channel.

023 — 19 August 2026

There is no 022 to run. It was tagged and the image never built — a check
failed before the publishing step — so nothing was released under that number.
Everything listed under 022 below is in this release; read it as one.

What this adds on top is all in restore.sh, and both parts were found by
running it on a real machine rather than by reading it:

022 — 19 August 2026

Admins got a way to say something that stands, the app got an account to say
things from, and installing stopped ending at a command to paste.

Nothing in this release contacts anything outside your installation. The update
check it adds is switched off until you turn it on.

021 — 19 August 2026

Backups stopped being something you configured and hoped about.

020 — 18 August 2026

Importing from Slack became a screen instead of a terminal session.

019 — 18 August 2026

018, 017, 016, 015, 014 — 16–17 August 2026

A run of small releases about the same thing: what the sidebar and the feed do
when the connection drops and comes back.

013 — 16 August 2026

The event log, and the first published install bundle.

Before 013

This project's git history was rebuilt in July 2026 and the releases before
this point are not usefully reconstructable. They are the ones nobody is
running.