Changelog

Every release,
in plain terms.

Grouped as added / changed / fixed / not included / notes. The last two sections are deliberately complete — they stop you assuming something was changed in passing.

Beta builds are prereleases and never become Latest; the stable line is always a regular release.

0.6.1

LatestSecurity2026-10-11

Security release. The dashboard authenticated its callers with headers they could write themselves, a room inherited the owner’s permanent path allowlist and trust settings, and nothing read what a room’s agent was trying to do before it ran a command. All three are closed.

Added

  • Session-based dashboard access — the launcher opens the page with a one-time token in the URL; the page trades it for a session cookie, the token is wiped from the address bar, and the WebSocket handshake carries a 60-second single-use ticket instead of a process-lifetime password.
  • A sandbox per room — chosen when the room is created and editable from the room itself. A room’s agents are confined to that folder.
  • A command classifier for rooms — a model reads the intent a room’s agent declared next to the command it wants to run, and refuses the command when the two do not line up. Trust mode, broad-access mode and the result-review setting cannot exempt it. The switch lives in Settings → Permissions and is on by default.
  • Per-command intents — run_command requires a description; process requires one when it starts a command.

Changed

  • Sensitive-path reads, file listings, model listings and avatar uploads now require the dashboard session, as the other endpoints already did.
  • A room turn no longer inherits security.always_allow_paths, trust mode, power_user_mode, or the automatic result review.
  • Inside a room, a tool rated MEDIUM or above asks for confirmation even when the path is inside the sandbox.
  • A sandbox escape approved from inside a room is granted once; “always allow” is neither offered nor honoured there.

Fixed

  • A failed dashboard handshake no longer writes the credential it was given into the log.
  • /api/scheduler/* answered without any authentication; it now requires the session like everything else.

Not included

  • The classifier covers command tools only; file reads and edits inside a room are still governed by the sandbox and the risk thresholds.
  • It applies to rooms only. Ordinary conversations, scheduled jobs and the terminal client keep the gates they already had.
  • API keys remain in plain text on this machine, and the dashboard still hands the whole configuration to its own page.

Notes

Offline rooms cannot run commands. The classifier refuses when it cannot answer, so with no network a room’s commands are refused until the switch is turned off. That is deliberate: a room command either passes a judgement or does not run.

With no judge endpoint configured the classifier uses the active chat model, which adds a round trip per command.

A command whose declared intent honestly describes what it does can still be steered by the conversation. The classifier checks that the intent and the command agree; it cannot judge where the intent came from. That is the boundary of this layer, and it is why the sandbox remains the load-bearing one.

0.6.0

Minor2026-10-06

Minor release, and the largest one so far. It moves in three directions at once: characters share rooms with each other and with you, stored content is screened and everything that needs your attention lands in one feed, and rooms can do work — a plan, a copy of the project per member, patches you land by hand, snapshots you publish, and outside agents that can join over the network. Alongside those: FSAR now knows the date, remembers your birthday, and can run a single turn from the terminal.

Highlights

  • Group chat rooms — a room list and a room page, separate from single chat. Every member scores its own eagerness in parallel and the top few get the floor; there is no director. Naming a character with @ skips the election.
  • The room’s own instruments — a member panel (add/remove characters, choose who “you” are, edit the shared scene) and a live election strip.
  • Work a room as a project — a plan board, one turn per member in that member’s own copy of the repo, patches you land or refuse by hand, snapshots you publish by allowlist.
  • Stored-content screening and a notification feed — screen stored memories for prompt injection and quarantine what is flagged; new releases and official announcements arrive in the same feed.
  • Time awareness — the date, how long you have been away, and your birthday.
  • Headless turns — fsar run for a single turn; fsar room say / fsar room read against a room.

Earlier releases

in the repository

The full history is kept in CHANGELOG.md. This page shows the two most recent versions to establish the layout and information hierarchy.