Skip to content

Changelog

Versions follow Semantic Versioning; stable versions and betas (X.Y.Z-beta.N) are listed together. The console shows the same notes after an update, under What’s new.

  • app: the tray shows Agents Multi, and a start from the menu goes through the app’s unit (c6bbad7)
  • ci: build the console’s interface into a scratch directory, never over the served one (fa3b6d6)
  • ui: wikilinks read the page in the brain from anywhere; Brain asks through the field (d466ed4)
  • ui: Brain moves to the new interface (22304a1)
  • ui: Tasks moves to the new interface (5f97216)
  • ui: System’s plugins, updates and the update wizard move over (ae22c1c)
  • ui: System’s overview, profiles, permissions and repair move over (ce93635)
  • ui: Connections moves to the new interface (181319f)
  • ui: Today moves to the new interface (c4441d0)
  • console: the new interface at the root, the old page under /old for one release (aeb14d4)
  • ui: dictionaries of their own for Plugins and Updates (951024f)
  • ui: the new console’s shell: rail, palette, the field to ask Claude, shared pieces (8f6c3a9)
  • ui: a task on Today opens its sheet, as before (a690598)
  • name: the project is Agents Multi, with the agents-multi command (claude-multi stays) (db8e0fb)
  • ui: the console’s new interface under /next (Preact, Vite, pnpm), Health first (c381221)
  • vault: deny the recovery code under the agents-multi name too (3c5198a)
  • settings: read a repository’s AGENTS.md beside any CLAUDE.md above it (236c917)
  • site: a Changelog page and Forgejo releases, both from CHANGELOG.md (b6a509d)
  • console: an update wizard with the restart, a health check and what’s new (dbc4c40)
  • release: restart the console and the tray app when the release is cut in the runtime checkout (8c43c50)
  • today: choose which calendars the day shows, found per Google account (b66a2d8)
  • plugins: the catalog loads a page at a time, searched on the server, and starts from a cache (dd853be)
  • console: move permission rules between lists by drag and drop or a menu (df675e2)
  • console: Repair button on health checks with steps, live output and a re-check (bed9ce2)
  • console: long actions stream their output as a job, one per action, cancellable (d0d701c)
  • brain: the compose file runs outside Coolify too, with BRAIN_URL set by hand (96d3c7b)
  • doctor: a check can carry a structured repair; desktop-rebuild takes a known profile (82a6d48)
  • brain: an account’s areas are named in its language, English for any but Italian (5dc25fe)
  • brain: admin CLI for the container and a daily sealed backup of every database (b011fb9)
  • console: «Close Claude and update» for an install waiting on open sessions (#12) (e48d3b4)
  • brain: versioned schema migrations, and an hourly purge of expired rows (dbeb448)
  • brain: structured JSON logs, one access line per request (ed21498)
  • brain: the site is served from memory with ETags and 304s (868f9d9)
  • console: update button in System tabs bar and Today (90fc5c0)
  • doctor: no guided repair for the console unit, since install restarts the console mid-stream (2ba996c)
  • console: the update fixes get their button, and a failed Desktop rebuild logs why (bd9b034)
  • mcp: our servers run with –no-config, so their lock files stop changing (3b0426d)
  • brain: /health only says the process answers; /ready, and a clean stop on SIGTERM (cfc5d03)
  • brain: each account’s days in its own time zone; the embedding model set once in compose (68c9d17)
  • tasks: a task change names the version it was made from; the brain refuses a stale one (6deccc4)
  • brain: a search waits four seconds for the embedding model; indexers take turns at it (ec0df9f)
  • brain: forms act only from the brain’s own pages; nosniff and HSTS on every answer (bd68ec5)
  • brain: registered OAuth clients expire when unused, and are capped (d3c7fbb)
  • brain: rate limit per address, lockout per account and address, hashing behind a gate (959452a)
  • brain: cap request bodies by path (413) and answer errors without their message (b244334)
  • apps/ for what is deployed or installed — cli, brain, site, tray (74569b3)
  • mcp: the coolify and syncthing servers in English (62c118c)
  • vault: remove vault import-legacy and its doctor check (9aa05e0)
  • release: a stable version’s changelog counts from the previous stable version (e5ed262)
  • hooks: graphify-nudge prints valid JSON; the remaining hooks in English (8d114a0)
  • mcp: syncthing-status starts without Syncthing; the probe reports servers that exit (646574c)
  • tasks: the terminal list compares owners with the configured owner, not a name (7209cb2)
  • cli: doctor, mcp and the console split into modules (83adbfd)
  • cli: lib.ts split by concern into apps/cli/lib/ (9e8a11b)
  • cli: no import cycles — the console port in lib.ts, merge patches in json-patch.ts (3054495)
  • cli: look commands up on PATH without a shell (e834533)
  • adr: repository layout, versions, branches and releases (d8410cc)
  • English comments and messages across the CLI, launchers, tests and the tray app (c697656)
  • apps/ for what is deployed or installed — cli, brain, site, tray (74569b3)
  • mcp: the coolify and syncthing servers in English (62c118c)
  • vault: remove vault import-legacy and its doctor check (9aa05e0)
  • hooks: graphify-nudge prints valid JSON; the remaining hooks in English (8d114a0)
  • mcp: syncthing-status starts without Syncthing; the probe reports servers that exit (646574c)
  • tasks: the terminal list compares owners with the configured owner, not a name (7209cb2)
  • cli: doctor, mcp and the console split into modules (83adbfd)
  • cli: lib.ts split by concern into apps/cli/lib/ (9e8a11b)
  • cli: no import cycles — the console port in lib.ts, merge patches in json-patch.ts (3054495)
  • cli: look commands up on PATH without a shell (e834533)
  • adr: repository layout, versions, branches and releases (d8410cc)
  • English comments and messages across the CLI, launchers, tests and the tray app (c697656)

The first numbered version: the state of the project when versioning started. It covers:

  • profiles for Claude Code and Claude Desktop, isolated on one machine, launched by one bash launcher;
  • the local console on 127.0.0.1:7331 (today, tasks, brain, connections, system) and the PySide6 tray app;
  • the brain, a multi-account memory and task service with an MCP endpoint, and the public site;
  • the MCP registry with per-account servers and the encrypted secret vault;
  • claude-multi doctor, install, update and the rest of the CLI;
  • one quality gate for CI and the pre-push hook (scripts/ci.sh), guard hooks that decide without jq, and the release tooling that writes this file.