Repository navigation
v0.6.0
v0.6.0: new look, modern stack, owners in their own pool
Huge thanks to @laupernoe (Noé Lauper), who did most of this release: the full dependency upgrade (#5), the web redesign (#22), and four web fixes (#24, #26, #27, #28).
Web redesign (#22, @laupernoe)
- A new "signal board" design for the whole web app, with self-hosted Overpass fonts. The CSP is unchanged.
- Everything from v0.5.x carries over in the new style: the outdated-agent banner, failed-attempt info, Retry, why-not-running, the Claude login state, onboarding, Access and the version footer.
Web fixes (@laupernoe)
/backlog?task=<id>highlights the linked task (#24).- Removing a project refreshes the list of already-added repositories (#26).
- Signing in takes you back to the page you asked for (#27).
- The Access page clears an old error after a success (#28).
Dependency upgrade (#5, @laupernoe)
- React 19, Vite 8, Zod 4, Prisma 7, pnpm 12 and Node 24, in every image.
- Prisma 7 was checked against a copy of the production database: no schema drift and no data change.
New: owners can join their own pool (#34)
- Each project card in the owner view has a Participate in my pool block with a budget % and a mode. An owner's own participation is approved automatically.
- The onboarding step "Add your repository" offers the same block as an optional follow-up.
- The dispatcher treats the owner like any other participant. The consent rule is unchanged: no work runs without an active participation that the member saved.
New: clearer member rejection (#34)
- Owners can add an optional reason when rejecting. The member sees it next to "Rejected by owner".
- The project card lists rejected members, with Undo: back to pending and Undo: approve.
- When a previously rejected member asks again, the owner's pending list shows previously rejected (reason).
- Everything is audited:
participation.rejectedwith the reason,participation.rejection_undone, andreappliedandownerAutoApprovedon updates. This release also fixes the audit action nameparticipation.rejectd, which is nowparticipation.rejected. - Migration
20261030000000_participation_rejectionadds two nullable columns. The README now documents how migrations are named.
Upgrade
Update the server first (docker compose pull && docker compose up -d). It applies the new migration automatically. Then update each agent with orch update.