Changelog

Every release, with the reasoning.

A product about versioning ought to keep an honest one of its own. Nothing here is removed after the fact.

v0.6
2026-09-07

Accounts and workspaces

addedSign up, sign in, sign out. An account creates a workspace of its own, and every agent, version, thread, run, file and provider key belongs to exactly one workspace.
addedA starter agent published as v1 on every new workspace, so the first thread has something to pin to instead of an empty picker.
addedMembers and roles in Settings. Publishing a version, moving the stable pointer and deprecating require publisher or above — the one place a role changes behaviour for everyone else.
changedEvery query now resolves its tenant from the session rather than the first row in the users table. An unauthenticated request to any /app route redirects to sign-in.
v0.5
2026-09-07

Documents

addedReference documents on an agent version. A checklist, spec or style guide is read on every run of that version, and its content hash is folded into the version body hash — so swapping the checklist mints a new version instead of silently changing behaviour.
addedAttachments on a run input, hashed into the input hash. The same input now means the same words and the same bytes, which is what a rerun needs to actually be a rerun.
addedContent-addressed file store. The same bytes uploaded twice are one file and one blob; PDF, txt, md, csv, json, html and yaml extract to text once at upload.
changedText is extracted once and sent verbatim to every provider rather than using each one's native document handling, so a version reads the same characters on Claude, ChatGPT and Gemini.
changedVersion diffs show reference documents as a field, compared by content hash — replacing a file with an edited one of the same name reads as the change it is.
fixedA failed text extraction is no longer cached permanently against its content hash. Re-uploading the same file re-attempts extraction.
v0.4
2026-09-07

Multi-provider runs

addedA version can now name Claude, ChatGPT or Gemini. Web search, citations and JSON validation are normalised across all three, so switching provider is a version bump you can diff.
addedSettings holds your own provider keys. Keys are stored in your workspace database and used directly against the provider — no shared account, no proxy.
addedLive model lists. The agent editor can pull the current model catalogue from whichever provider key you have configured, instead of trusting a hardcoded list.
changedThe temperature field is disabled for model families that reject sampling parameters, and the version records that it is unset rather than pretending it is zero.
v0.3
2026-08-28

Replay mode

addedSource snapshots. Every cited source is stored with a fetch timestamp and content hash.
addedReplay as a source mode on reruns and diffs: the newer version is handed the exact sources the original run read, so the web is held still and the only variable is the version.
changedVersion diffs default to replay. Refresh and live remain available and are labelled in the comparison header.
fixedCitations arriving after the final text delta are no longer dropped from the run record.
v0.2
2026-08-11

Diff, rerun, fork

addedSide-by-side run diff with word-level output diff, source set-diff, tool-call comparison and telemetry.
addedRerun on another version. This forks a new chat pinned to the target version and replays the stored input verbatim, so the original chat is never touched.
addedByte-identical badge when two runs share an output hash.
changedPublishing a draft whose body hash matches an existing version is now refused with the version number it duplicates.
v0.1
2026-07-22

The pin

addedAgents, immutable versions, and chats that bind to agent_version_id at creation and never update it.
addedDrafts as the only mutable object, runnable only in scratch chats labelled not reproducible.
addedThe stable pointer, moved explicitly by a human, with an append-only audit entry.
addedDeprecation that hides a version from new chats without stopping the chats already pinned to it.