Skip to content

Releases: robsannaa/mission-control

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 08:34

Full Changelog: v0.14.0...v0.15.0

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 14:49

Full Changelog: v0.13.0...v0.14.0

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 10:02

Full Changelog: v0.12.0...v0.13.0

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 08:44

Full Changelog: v0.11.0...v0.12.0

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 10:47

Full Changelog: v0.10.0...v0.11.0

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 08:07

What's Changed

  • docs: audit open GitHub issues with draft replies and close plans by @robsannaa in #88

Full Changelog: v0.9.0...v0.10.0

v0.9.0 - onboarding that works, an app that tells the truth

Choose a tag to compare

@robsannaa robsannaa released this 10 Aug 10:44

This release makes Mission Control something a non-technical person can run start to finish, and makes the whole app tell you only things that are true.

Onboarding that works, and never lies

The first-run wizard is rebuilt. Bad API keys are now actually rejected instead of celebrated. The chat step only says "you're set" when a real reply comes back, and raw file paths and CLI commands never reach you. Skipping no longer traps you in a loop. A brand-new machine can bootstrap itself, and "Verified" now means the agent can genuinely use the key, confirmed by polling until it authenticates. Hosted deployments skip the steps that do not apply, and there is finally a first-class "I have a Claude subscription" path.

Sharper, faster, calmer

  • Sidebar leads with Chat and the work you do; configuration moved into one Settings hub, with plain-language names (Scheduled Tasks, Marketplace, Webhooks).
  • Vector DB and Web Search each split into a "Try it" view and a Settings view, and Web Search can now save an article straight into your agent's memory.
  • Tasks: drop a card into In Progress and the agent actually starts working on it.
  • Doctor, Heartbeat and the section pages load in about a second with real skeletons instead of a blank screen.
  • Light mode retuned to match ElevenLabs' measured values. The yellow cast is gone.

Everything above was verified against a live gateway, and the test suite grew from 179 to 247.

Full Changelog: v0.8.0...v0.9.0

v0.8.0 — put your agents to work

Choose a tag to compare

@robsannaa robsannaa released this 10 Aug 01:09

Three things changed, and all three come down to the same idea: the dashboard should only tell you things that are true.

Assign work to your agents, and watch them do it

The Tasks board is no longer a to-do list with a Run button. A column is now a statement about what an agent is doing right now.

In Progress means an agent is working on that card at this moment — live spinner, elapsed time, and the step it's on. Review means the agent stopped to ask you something. Cards arrive there on their own, carrying the question. Answer it and the same run picks up where it left off, and the card moves back to where it came from.

Dispatched work now explicitly invites the agent to ask instead of guess. A question is a real outcome, not a failure.

Cards that move by themselves animate, and each one records who moved it and why — so the board never rearranges itself without telling you.

Two things had to be pinned down against a live gateway before any of this could be honest. Nothing distinguishes "the agent finished" from "the agent is waiting on you" — task status, stop reason and session status are identical in both cases — so the run is asked to mark its own ending, and an unmarked one is admitted as unknown rather than guessed at. And tasks.cancel doesn't stop anything: it marks the ledger cancelled while the agent runs happily to completion. Stop now actually stops.

Doctor tells you the truth, and loses its BETA badge

Doctor used to report "health score 100, healthy" from a single ping — while openclaw doctor on the same machine was finding real problems. The four fields that score was computed from didn't exist in the data it read, so it could only ever return 100.

The score now comes from a real check or isn't reported at all. Never checked reads as never checked, not as perfect. Every point deducted is itemised. And the page states plainly what a given run did not look at, because a quick check covers 3 of 51 checks and silence there means "not checked", never "healthy".

Findings are written for someone who has never opened a terminal: what's wrong, why it matters to you, what happens if you press the button. Repairs show you what they'll change before they run. Destructive ones look different and ask first, in plain words. Anything OpenClaw itself has refused to fix is shown as blocked, instead of a button that quietly does nothing.

The sidebar stays put

Moving between pages looked like the whole app reloading. It wasn't — a loading overlay was covering the sidebar and header on 18 different pages. Now only the content area loads, and fast pages don't flash a spinner at all.

Review found more than the features

Both features were checked by adversarial reviewers whose job was to break them, and they did. Fixed before release: live repair output streamed a freshly generated gateway token to the browser unredacted; a repair could claim "confirmed fixed" for something it never checked; a card could spin "Working" forever if the gateway restarted underneath it; a board edit made while a save was in flight was silently thrown away; and an agent quoting the instructions back could land a card in Done with its question unanswered.

The test suite went from 179 to 197.

Full Changelog: v0.7.0...v0.8.0

v0.7.0 — the honest release

Choose a tag to compare

@github-actions github-actions released this 09 Aug 21:44

Mission Control v0.7.0 — the honest release 🦞

This one is mostly about telling the truth. A lot of the UI looked like it worked. Now it actually does.

🛠 Config that does what it says

The config editor could report "saved successfully" while changing nothing. That's fixed, from the ground up.

  • Deleting a key actually deletes it. Saves now send a minimal diff with an explicit null for removals, instead of the whole document. Previously a merge-patch quietly ignored anything you removed.
  • Removing an array item works. We now send replacePaths, derived from the gateway's own array rule — array shrink used to fail with a raw, unmapped error.
  • No more silent clobbering. A hash conflict returns 409 with the other session's config so you can decide, rather than re-reading the hash and overwriting a concurrent editor. (The old conflict detector matched none of the phrasings the gateway actually emits.)
  • ${VAR} survives a round-trip. The editor now authors against parsed, so environment indirection is no longer baked into its literal expansion on first save.
  • Restarts only when needed, decided per path from config.schema.lookup — not forced on every write.
  • New /api/config/lookup (per-path constraints and reload kind) and /api/config/doctor (post-save health check).

💬 A chat worth using

  • Conversation history. Browse past sessions, resume one, start a new chat without destroying the old. Renaming persists — it's stored on the gateway, not in your browser.
  • / commands built from your gateway's real command list, and @ file references over real workspace files. Verified end to end: reference a file and the agent reads it.
  • References render as pills — files coloured by format, with a hover preview of the contents. Click through to open in Documents.
  • Tool names and code read as monospace chips instead of dissolving into the sentence.
  • Markdown from the gateway keeps its structure. Command lists no longer collapse into one run-on paragraph.

🔍 Sessions you can actually read

Click any session to open its transcript. Thinking and tool calls collapse to thought · used 1 tool; tool results hide behind a toggle. It reads as a conversation, not a log dump.

Privacy note: channel sessions (Telegram and friends) are never readable from the dashboard. A chat picker that lists your private DMs is not a feature.

🎨 A real design system

~1000 hardcoded colours replaced with semantic tokens across 60+ components, so the look is now systemic. Dark mode was warm sepia; it's a neutral near-black now, with crisp white type.

Colour means "look at me". A healthy cron run used to show an amber icon, an amber dot and a green "ok" badge. Success is silent now — only warnings and errors are labelled.

🧰 Fixes worth calling out

  • Doctor and Security pages were broken on machines whose Node sits outside OpenClaw's supported range. Mission Control now finds a compatible Node itself, so it self-heals wherever it runs.
  • Cmd+K searches everything — pages, settings and features, not just memory. No hidden prefix required.
  • Notifications can be dismissed individually (and stay dismissed) or muted entirely.
  • Activity shows real job names instead of UUIDs, reads live cron data over RPC, and no longer stamps unparseable log lines with the current time.
  • setup.sh picks a Node the CLI accepts, retries on failure, finds a free port, and verifies the dashboard actually responds before declaring success.
  • The README banner has 404'd since forever — a blanket *.png ignore meant cover.png was never committed. Fixed.

✅ Under the hood

180 tests green, types and lint clean, CI on every push.


Upgrade: git pull && ./setup.sh

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 19:02

Full Changelog: v0.4.10...v0.6.0