Skip to content

v2026.1003.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 19:11
· 118 commits to main since this release
d0ae990

v2026.1003.0

Released: 2026-10-03.

Accept now approves only the revision you saw, and secrets are removed from run logs, transcripts and agent-written text before they are stored. The Chief of Staff (CoS) keeps chatting when the live connection drops and only states what it can see. The Costs page reads in tokens for workspaces on their own model key. Agent pages stop treating warnings as failures. Phones get readable headers. No migrations. Everything merged since v2026.1002.2 (6c8f0ea1c).

Fixed

  • Accept approves only the revision you saw (#1003). You could accept a deliverable while the agent was still rewriting it, so you approved text you never read. Now:
    • Accept and Request changes are hidden while the agent is working, with a "Waiting for the agent to finish" line in their place.
    • Accept sends the revision on your screen; if the document changed since, you get a clear message and the newer version.
    • A sent-back deliverable comes back for review only once there is a new revision, or once the agent's run has finished.
    • Agents can no longer move their own reviewed work back to review, point it at a different document, or delete it and record a fresh copy (#1010).
    • A late agent write to an accepted document reopens the issue for review.
    • Your own edit to an accepted document keeps the issue done.
  • Marking an issue done stops its runs (#1003). Runs woken for an issue are cancelled when it moves to Done or Cancelled. An agent's runs on other issues are untouched.
  • Marking done from the Issues list explains itself (#1003). If a document deliverable still needs your review, you get a message with a link to the issue instead of a silent failure.
  • Chat keeps working without the live connection (#1000). Your message shows the moment it is sent. A reply still arrives (checked every 5 seconds) while the connection is down. The badge reads "Reconnecting…" instead of "Connected". Chat opens at the newest message.
  • The CoS only states what it can see (#1000, #1006, #1009). Each reply gets the open work you can see and the task cards still waiting on you, and is told never to claim an approval, progress or finished work those facts don't show. The facts travel in a separate, clearly marked message, so text in an issue title can never act as an instruction (#1009 also stops a chat line such as "[System]" from posing as a new turn). A message that arrives while the CoS is writing a reply gets its own reply instead of being folded into the current one (#1009). A plan you confirmed while the CoS was revising it can no longer be overwritten.
  • The CoS agent page loads (#1002). It failed with a server error for some workspaces.
  • Warnings are not failures, and failures are not warnings (#1002). A setup check that only warns no longer blocks an agent. A warning that means the agent cannot run (for example a model that needs sign-in) does block it, on every path: creating, hiring, starting and the onboarding runtime step. A Hermes runtime with only tool keys (GitHub, Tavily and the like) no longer counts as having a model provider.
  • Stops say why (#1002). A run you stop shows "Stopped manually". Runs stopped by a pause, a hold, a cancelled issue or a new comment say so, instead of "Stopped by you".

Changed

  • Secrets are removed on the server (#998, #1008, #1011). v2026.1002.2 hid credentials on screen only. Now run logs, transcripts, agent-written comments, approval comments, CoS chat replies and CoS cards are scrubbed before they are stored, and again when they are read. That covers API keys, bearer tokens, passwords in connection strings, webhook URLs, and secret-named settings from the instance and Hermes profiles. Ordinary text ("Token authentication is required", "Key Exchange"), public URLs, slugs and paths are left alone. Text people write themselves is stored as written and masked when shown. Very long values (multi-kilobyte tokens, quoted passwords, JSON nested inside tool calls) are covered, emoji earlier in the text no longer throw the masking off, and masking time grows only in proportion to the text, so an oversized comment or log cannot stall the server.
  • One set of token figures (#1004). Every token count is input plus output; cached reads are listed separately and labelled. The run footer and run card take their numbers from the run's final record.
  • A Costs page for owners on their own key (#1004). Workspaces on their own model key see tokens, not "$0.00", across Costs, the by-model rows, provider tabs, biller cards and the agent page. Engineering and pull-request figures appear only when there is pull-request work. Workspaces billed through AgentDash still see dollars and budget bars.
  • Readable transcripts (#1004). Several JSON results in one step each get a short summary ("Got issue WHI-1 · Response: 4 items"). Hermes file writes show the file name. Script errors stay visible; routine stderr is folded away on runs that succeeded.
  • Agent status in plain words (#1002). The agent page shows chat turns this month, folds routine stderr behind "Technical details" on successful runs, honours the setting that hides your username in logs, and no longer pre-fills "CEO" in the role box.
  • Plainer Activity (#1003). Actions read in plain words. Read receipts and queue noise are hidden. Home keeps the system events you need, such as budget stops and failed hires; the Activity page filters the rest on the server.
  • Phone headers and settings (#1005). Billing, Workforce, Settings and the instance pages have a phone header that always shows the page name in full; a long workspace name is the part that shortens. Setup cards stack on phones. Accept and Request changes sit on one row. The Definition of Done checkboxes have named, 44px tap areas. Long release-note lines wrap on the Changelog page.
  • Plans ask for numbers (#1005). The CoS asks for a concrete number and period when you talk about targets, and writes each agent's KPIs with one.
  • Plainer agent writing (#1004). Agents, including reviewer agents, are told not to say "complete" while work awaits review, and not to narrate bookkeeping or name internal records.

Upgrade notes

  • No migrations. The newest migration is still 0144.
  • Run logs written before this release are scrubbed when read, not rewritten on disk. Logs written from now on are scrubbed as they are saved.
  • CoS chat history reaches the model with secrets masked, including credentials a person pastes into chat on purpose.
  • Who can see overrides in agentdash_mk companies (#999). The override inbox (GET /companies/:id/inbox/override) now needs the company owner or admin role. A member whose only authority was an explicit agents:create grant loses it. Both inbox routes now also hide approvals for projects the person cannot see.
  • Changing a member's role resets their grants to the new role's defaults (#999). Extra grants must be given again through the grants page. The activity log records the reset.
  • Project workspace folders (#999). A member who is not an instance admin can only point a project workspace at this company's own managed folders. Existing folders keep working; changing one must follow the rule.
  • Bootstrap with several workspaces (#999). Starting the CoS for a user who belongs to more than one workspace now asks which one (409 ambiguous_company with the list) instead of guessing.
  • Invites record who invited (#999). An auto-approved invite now records the inviter, not the joiner, as the grantor.
  • New API answers for done (#1003). Setting a document-bound issue to done needs the revision you reviewed: 409 document_revision_required when none is sent, 409 document_revision_stale when it is out of date. API and CLI clients that mark issues done should send it.
  • Strict OpenAI-compatible providers (#1006). Back-to-back messages with the same role are merged before sending, so providers that require alternating roles accept CoS requests.

Container image

Built from this release's tagged commit for linux/amd64 and linux/arm64.

Tag ghcr.io/thetangstr/agentdash:v2026.1003.0 (also ghcr.io/thetangstr/agentdash:2026.1003.0)
Digest sha256:30d8b1397d06f9d85b29393ed2b7a7481bdcd172287479994e41117e4d1f939e

Deploy by digest, which cannot move:

docker pull ghcr.io/thetangstr/agentdash@sha256:30d8b1397d06f9d85b29393ed2b7a7481bdcd172287479994e41117e4d1f939e