Skip to content

v0.9.0

Choose a tag to compare

@clauster-ci clauster-ci released this 14 Jun 05:42
Immutable release. Only release title and notes can be modified.
5a7152e

0.9.0 (2026-06-14)

Features

  • agents: cloud-deregistering stop for background sessions (BG-3) (#218) (c3bae48)
  • agents: dispatch a claude --bg [--rc <name>] background session (BG-2) (#215) (83e2ad4)
  • agents: read-only background-agents panel (BG-1) (#214) (a755723)
  • agents: wire dispatch + stop buttons into the bg-agents panel (BG-4) (#220) (99fb3eb)
  • configurable usage badge — currency conversion + tokens-only mode (#192) (d53a7f5)
  • hosted: --resume respawn of a lost hosted session (CL-7) (#236) (671eee7)
  • hosted: claustrum daemon connect-or-spawn lifecycle (CL-2) (#229) (da8f72d)
  • hosted: claustrum NDJSON JSON-RPC client + fake daemon fixture (CL-1) (#224) (dff6c33)
  • hosted: hosted-channel session engine (CL-4a) (#230) (d9ab7e6)
  • hosted: live-view UI for hosted sessions (CL-4c) (#233) (234e525)
  • hosted: orphan detection + recovery after a daemon restart (CL-8) (#237) (6a64eef)
  • hosted: permissions approve/deny UI for hosted sessions (CL-5) (#234) (d5acb2d)
  • hosted: persist + reattach hosted sessions across restarts (CL-6) (#235) (ea45088)
  • hosted: wire the hosted channel into the app (CL-4b) (#231) (2e219a3)
  • logs: redact the session URL in the on-disk bridge log (redact_session_url) (#200) (aa60bf6)
  • notify on bridge crash via Apprise (optional extra) (#197) (8a1d944)
  • per-project preflight endpoint (GET /api/projects/{name}/preflight) (#193) (18c0ec6)
  • service: default KillMode=process so pty bridges survive a restart (#206) (992f84b)
  • ui: two-zone dashboard redesign; migrate icons to Tabler Icons (#248) (c060d93)

Bug Fixes

  • agents: don't report a clean stop when no live worker was found (#255) (8dfd1e3)
  • app: end send-only WS handlers on client disconnect — ghost tasks stalled shutdown (#243) (397d84b)
  • app: enforce bypass-permissions ceiling on hosted + bg-agent channels (#249) (90d74c2)
  • app: friendly HTML 404 for browser navigation; unify project-not-found wording (#247) (a6ad579)
  • auth: fsync parent dir when creating session.secret (#261) (8fafd6b)
  • ci: always run CodeQL so docs-only PRs aren't blocked by code-scanning rule (#196) (71a0b66)
  • correctness/robustness batch from a clean-room audit (#252) (4e097e3)
  • docker: bump base image digest to clear stale OpenSSL CVEs (#216) (231cd8d)
  • don't render the live metrics line twice in rows layout (#190) (535efdd)
  • hosted: handle an over-limit claustrum frame without killing the reader (#256) (dc0249e)
  • hosted: permission allow updatedInput + stop exit-latch race (#242) (a84b937)
  • hosted: resolve parked requests on exit + fix live-view double-wire (#254) (0f83fe1)
  • hosted: scrub claustrum's daemonize sentinel from the spawned daemon env (#241) (02242cb)
  • hosted: surface terminal state in live-view; stop the dead-session reconnect loop (#245) (fb51cf4)
  • inspector: gate cwd attribution on agent-view kind/state (#213) (c116fe9)
  • logs: whole first WS tail line + 0600 verbatim bridge log when redaction off (#259) (f6f2b30)
  • scrub Clauster secrets from every spawned child environment (#253) (926f315)
  • state: harden state writes — 0700 dir, 0600 atomic temp, fsync durability (#258) (bc09bee)
  • ui: clear stale New-project dialog state on close, mode-switch, and edit (#246) (b000f75)
  • ui: label launch controls + guard the launch button against double-submit (#260) (be3efde)
  • ui: render the Active status rail + fix keyboard focus order (#250) (a82cbe8)
  • ui: restore the Tabler + Alpine.js attribution in the dashboard footer (#198) (9366c8b)
  • ui: status-presentation parity, untrusted indicator, bypass-confirm gating (#251) (2becb73)
  • usage: tolerate malformed token values instead of 500-ing the rollup (#257) (dce4efc)