Skip to content

v5.32.0

Choose a tag to compare

@avirtual avirtual released this 06 Sep 05:55
· 6526 commits to master since this release
  • A seat spawned for a ticket now receives its spec once. It used to get a second copy a second later, marked as a replay and telling the hand an earlier incarnation might have done the work; that copy now goes only to a seat that was actually respawned.
  • The thinking and toolInputs plugin grants now do something: a session-scoped plugin the seat has granted them receives the turn's thinking blocks and its tool calls (name plus one clamped argument) as extra fields on the turn-text feed, absent when ungranted; a request that carried only tool calls now reaches a plugin granted tool inputs. The Plugin Access label for tool inputs no longer claims file contents.
  • A plugin can declare which capabilities it reads ("reads": ["turns"] in its manifest), and the seat's Plugin Access block dims the grants it never reads instead of offering all three as equals; a global-scoped plugin that declares reads is refused at load with the fix named.
  • Install a plugin from a public GitHub repo from Manage Plugins ▸ Install
    from GitHub…: paste owner/repo, owner/repo@ref or a github.com URL,
    Resolve shows what would land and a plain warning that the code runs with the
    app's full authority, and Install places it turned off until you enable it
    from its row.
  • A plugin installed from GitHub shows where it came from, and its row offers
    Update… and Remove
    : Update re-resolves the same repo and ref, shows old → new
    commit with the same warning before anything is replaced, and a running
    plugin's row says a restart is needed; Remove deletes the fetched folder after
    one confirm.
  • Update… on a plugin fetched from a collection repo says it is up to date when the plugin's own files did not change, instead of offering to re-download identical files every time the repo gets a commit elsewhere.
  • A plugin's skills and subagents reach the CLI under the plugin's own version
    and description
    instead of a 0.0.0 placeholder, so the CLI's plugin listing
    names what is installed.
  • Move Session… on a seat's context menu restarts it in another folder,
    keeping its configuration and conversation.
    If the restart in the new folder
    fails, the seat stays in the sidebar as a retry/forget row rather than
    disappearing until the next launch.
  • A moved seat's old and new team leads are told it left and arrived, so
    neither lead's roster goes quietly stale when a move changes team membership.
  • New Session refuses a taken name as you type and keeps the dialog open on
    any refusal.
    The field now says whether the name belongs to a live session
    or an archived one and greys out Create, and a create that is refused anyway
    leaves the whole configured form on screen with the reason under the field —
    instead of closing the dialog and losing it behind an alert.

Apple Silicon (arm64) build. Intel (x64) users can build from source (npm install && npx electron-rebuild && npm run dist:mac).

Unsigned (ad-hoc) build: first launch needs right-click → Open, or xattr -cr /Applications/Clodex.app.