Skip to content

Vespin 0.32.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 17:48
· 607 commits to main since this release
df451ae

What's Changed

  • fix(panel): name the rewind action for what it does, rewinding the conversation by @dastratakos in #8081
  • feat(service,cli): delete a task over MCP and the CLI by @charleslpan in #8051
  • docs(skills): orchestrate gives each PR a subtask of its own by @dastratakos in #8014
  • fix(service): say why an edit_description note missed by @dastratakos in #7971
  • fix(panel): settle a notice marked read so it leaves the open count by @dastratakos in #7947
  • fix(ui): draw a step's disc at the inline spinner's 16px, and the wait a step's gap below by @dastratakos in #8088
  • fix(service): store a native agent's call to an unknown tool as an unknown_tool part by @dastratakos in #7977
  • fix(service): give create_task subTaskIds, blockedBy, and blocks lists by @dastratakos in #7978
  • feat(agents): carry on a turn cut off by its runner going away by @dastratakos in #8023
  • feat(inbox): mark read, remind, and start a thread from MCP and the CLI by @charleslpan in #8048
  • chore(anti-slop): match a retired import by its path and read lucide-react's glyphs by @dastratakos in #8053
  • feat(service,cli): list, read, preview, install, and remove installed skills from MCP and the CLI by @charleslpan in #8067
  • refactor(service,database,features): move session-only workspace writes onto the account credential by @charleslpan in #8080
  • feat(service,cli): read an agent's own pull request and mark its files viewed from MCP and the CLI by @charleslpan in #8084
  • fix(panel): offer a named kind in the @ list, step back out of one, and open it at its top by @dastratakos in #8090
  • feat(service): answer a member's user id beside their name in thread and task reads by @dastratakos in #8070
  • feat(panel): write pasted pictures into the message as inline chips by @dastratakos in #8026
  • fix(service): relaunch a Claude Code turn with replay when its resume finds no session by @dastratakos in #7974
  • feat(mcp): queue a message behind an agent's turn from MCP and the CLI by @charleslpan in #8038
  • feat(panel): move an agent from its place chip by @dastratakos in #8093
  • feat(panel,host): undo a Got it, as Resolve is undone by @dastratakos in #8092
  • test(service): keep an unknown tool's called name when Codex settles it with a new input by @dastratakos in #8097
  • feat(service,panel): run a repository's archive script before an archived agent's sandbox is deleted by @dastratakos in #8091
  • feat(panel,features): name every starter on an agent's card by @dastratakos in #8087
  • fix(panel): keep an Escape that steps out of an @ group from the surface behind by @dastratakos in #8098
  • feat(service): let a teammate continue or fork a Mac agent by @dastratakos in #8068
  • feat(member-mcp): find a task by its key and move a task's relation by @charleslpan in #8040
  • feat(service,cli): list a workspace's GitHub repositories and read their files from MCP and the CLI by @charleslpan in #8057
  • fix(panel): keep the place chip's run_on_mac words for a reader where it moves the agent by @dastratakos in #8103
  • fix(panel): never fold an agent's words in a finished turn by @charleslpan in #8072
  • feat(agent-runner): pause Claude tool calls for approval by mode by @dastratakos in #8101
  • feat(service,agent-runner): let the Claude Code worker call our read-only tools by @vespin-agent[bot] in #7936
  • feat(service,cli): rewind, delete, and wake an agent from MCP and the CLI by @charleslpan in #8052
  • feat(panel): draw slack, email, and draft fences as they will be sent by @dastratakos in #8013
  • feat(database,service): require every agent to stand on a task by @dastratakos in #7999
  • feat(service,cli): list, set, and delete workspace environment variables from MCP and the CLI by @charleslpan in #8058
  • fix(service): let message_agent bring back an archived agent by @charleslpan in #8111
  • feat(mcp): manage an agent's message queue from MCP and the CLI by @charleslpan in #8108
  • refactor(service): route every archive through agent-change by @charleslpan in #8112
  • feat(host): save an archived agent's worktree as a git snapshot by @charleslpan in #8113
  • feat(mobile): draw the Inbox's list and its threads on the iPhone by @dastratakos in #7911
  • refactor(panel,features,host,ui): delete the sidebar's agent row and the taskless agent's own pins, read marks, and sections by @dastratakos in #8060
  • feat(agents): say when a sandbox command is killed out of memory, and show the sandbox's size by @dastratakos in #8086
  • feat(mcp): revoke a connected MCP client from MCP and the CLI by @charleslpan in #8100
  • chore(lint): refuse agent archives outside agent-change by @charleslpan in #8117
  • fix(ui): seat the shimmer on its line's top so WebKit keeps its baseline by @dastratakos in #8120
  • feat(service): record automatic archives as Vespin with a reason by @charleslpan in #8116
  • feat(service): archive a task's agents when it is canceled by @charleslpan in #8115
  • docs: date every release by its tag push in Eastern time by @dastratakos in #8118
  • feat(service,cli): set a workspace's photo from MCP and the CLI, and leave, hand over, or delete one from the CLI by @charleslpan in #8104
  • refactor(host): drop inboxRowsOf, which no window reads now that the app's Inbox groups the feed by @dastratakos in #8124
  • feat(service,cli): Slack bot settings and repository pins from MCP and the CLI by @charleslpan in #8071
  • feat(host): hold a table of which client offers each act by @dastratakos in #8085
  • refactor(features,panel): call a thing an entity, and keep its look under entities/ by @dastratakos in #8056
  • feat(automations): archive finished runs by default for new automations by @charleslpan in #8110
  • feat(service,cli): create a workspace from MCP and the CLI by @charleslpan in #8059
  • feat(database,service): record when each cloud sandbox was last used by @charleslpan in #8119
  • feat(service): let agents own their task's status by @charleslpan in #8114
  • feat(service,cli): manage workspace members and invitations from MCP and the CLI by @charleslpan in #8106
  • chore(anti-slop): confine how an entity is drawn to packages/panel/src/entities/ by @dastratakos in #8127
  • feat(panel): reply to a GitHub review thread on the shared message box by @dastratakos in #8096
  • feat: store agent permission modes and answer approvals by @dastratakos in #8109
  • refactor(panel): one glyph per entity kind, drawn from entities/ by @dastratakos in #8132
  • feat(service,cli): acknowledge a notice and list an integration's tools from MCP and the CLI by @charleslpan in #8133
  • refactor(panel): draw the @ list's mention rows with their entity's mark by @dastratakos in #8135
  • fix(service,cli): word a tools read's refusals and sign-in hint for what mends them by @charleslpan in #8136
  • fix(database): expire pending approvals when a rewind keeps the turn by @dastratakos in #8134
  • fix(mobile): play a thread's recording in place from the MP4 copy the service keeps by @dastratakos in #8123
  • fix(panel): draw ⌘K's automations, threads, and archived agents as every other menu does by @dastratakos in #8137
  • refactor(panel): draw pages, skills, workers, threads, and dates through their entity glyph by @dastratakos in #8138
  • feat(agents): carry a turn on after a lost connection to the provider by @dastratakos in #8028
  • feat(ui-native,brand): draw the git and decide glyphs from Lucide on the iPhone by @dastratakos in #8079
  • refactor(panel): end every agent row as the @ list ends it by @dastratakos in #8140
  • refactor(features,panel): call where an app link leads a destination by @dastratakos in #8139
  • fix(panel): draw a task's key at the @ list row's end as ⌘K and the Tasks list do by @dastratakos in #8143
  • feat(ui-native): restyle the iOS app to a denser, quieter look by @dastratakos in #8141
  • refactor(features,panel): share the Inbox box's draft and words through @repo/features by @dastratakos in #8145
  • feat(service): take back a member's own Got it or Resolve by @dastratakos in #8128
  • feat(panel,host): undo a Got it or Resolve at the service, whenever asked by @dastratakos in #8129
  • fix(panel): keep a refused send's words and files when the box changed meanwhile by @dastratakos in #8131
  • feat(service): delete cloud sandboxes unused for 7 days by @charleslpan in #8125
  • ci(mobile): run the iOS simulators by hand instead of on every pull request by @dastratakos in #8152
  • ci(mobile): drop the nightly iOS simulator run by @dastratakos in #8157
  • feat(anti-slop): refuse sandbox deletes outside session-sandboxes by @charleslpan in #8126
  • feat(mobile,ui-native): answer asks, reply, and resolve from the iPhone by @dastratakos in #8149
  • feat(mobile): draw the Tasks tab and a task's Overview on the iPhone by @dastratakos in #7943
  • feat(mobile,host): register the phone for pushes, and show its Notify me and push standing in Settings by @dastratakos in #8144
  • feat(ui-native,mobile): open Settings from the account's photo at the top left by @dastratakos in #8148
  • feat(mobile): draw an agent's transcript live on the iPhone by @dastratakos in #8008
  • feat: preview a plain web link on hover by @dastratakos in #8025
  • feat(features,service): read an Inbox push's payload into the route and action the app opens by @dastratakos in #8159
  • refactor(panel,features,host,cli): delete the Inbox's threads no task holds by @dastratakos in #8082
  • fix(ui-native): ask the seal before every navigation an agent's page makes by @dastratakos in #8161
  • feat(mobile): draw a pull request's state, checks, and reviews on the iPhone, and merge or dequeue it from the bar by @dastratakos in #8146
  • refactor(service,database,features): stop serving agents with no task by @dastratakos in #8122
  • refactor(features,panel,ui): move agent refusal words, model efforts, and the tasks model into @repo/features by @dastratakos in #8162
  • feat(mobile,ui-native,host): message, queue, steer, and stop an agent, and start an agent or a task, from the iPhone by @dastratakos in #8163
  • feat(mobile): open a pushed thread on a tap, offer a decide's options and a reply, and clear a settled thread's notification by @dastratakos in #8160
  • fix(ui,panel): let window shortcuts out of a menu's panel, and align the MCP servers row buttons by @dastratakos in #8165
  • fix(mobile): run the notification flow whatever the other simulator flows did by @dastratakos in #8167
  • ci(mobile): keep a long simulator run's screenshots, and run it on fewer simulators by hand by @dastratakos in #8168
  • fix(mobile,ui-native): finish a sign-out that hung on the push token, and make the Maestro flows pass again by @dastratakos in #8171
  • feat: offer an admin bypass merge by @dastratakos in #7912
  • fix(panel,settings): slim Settings' words to what a reader needs by @dastratakos in #8156
  • perf(panel): clip a sheet's frame with inset() so pane motion draws no masks by @dastratakos in #8083
  • fix(service): refuse a title-model reply as an agent's title by @dastratakos in #8169
  • feat(features): declare the Live Activity wire for a member's running agents by @dastratakos in #8177
  • fix(mobile): take the splash down from the root, so it never stays over a launch by @dastratakos in #8172
  • fix(ui): close a dialog or the command palette on ⌘W rather than the window behind it by @dastratakos in #8174
  • feat(panel): choose an agent's permission mode and answer approvals by @dastratakos in #8121
  • refactor(ui,panel,settings): drop the Modified tag from Settings rows by @dastratakos in #8180
  • refactor(panel,settings): merge Settings' MCP and CLI pages, and Environment and Cloud setup by @dastratakos in #8181
  • feat(panel): keep recent page tabs drawn so a return keeps the page's state by @dastratakos in #8184
  • refactor(database): drop agent_read and agent_section_entry, and undeclare agent.read_through by @dastratakos in #8173
  • fix(panel,docs): name each MCP & CLI section for MCP or the CLI by @dastratakos in #8187
  • refactor: call Hosts "Machines" wherever a user reads it by @dastratakos in #8182
  • feat(database,service): register a phone's Live Activity tokens by @dastratakos in #8179
  • feat(service): record each cloud agent's sandbox boot and carry where it stands on the task list by @charleslpan in #8075
  • ci(host): point the host release notes at Settings › Machines by @dastratakos in #8190
  • fix(service): hand a base drive's install to the agent's user at launch by @dastratakos in #8193
  • fix(panel): keep the @ list's highlight on its row as late reads land above it by @dastratakos in #8170
  • refactor(panel): stand MCP & CLI as two sections, each connections then setup by @dastratakos in #8195
  • feat(service): delete unused sandboxes with no dry-run switch by @charleslpan in #8196
  • fix(ui): leave a key an input method composes with to the method, not ⌘W's close by @dastratakos in #8192
  • feat(service,database): push a member's Live Activity as their agents run by @dastratakos in #8186
  • fix(panel): edit the pull request title bare in place by @dastratakos in #8042
  • feat(panel,settings): split Preferences out of Account, and move Slack notifications onto it by @dastratakos in #8197
  • fix(panel): keep page tabs drawn while the task's details take the page by @dastratakos in #8199
  • refactor(features,panel,host): fold TaskRow into TaskSummary by @dastratakos in #8198
  • feat(service,host,panel,cli): label each forwarded and shared port with what serves it by @dastratakos in #8176
  • feat(panel): put Skills' Add skill in each group's heading by @dastratakos in #8194
  • feat(panel): edit the pull request title with a click in its words by @dastratakos in #8089
  • fix(panel,settings): call the New agents section's first row Model by @dastratakos in #8189
  • fix(mobile): open a linked thread or task beside its list in a wide window by @dastratakos in #8204
  • fix(ui,panel): keep Cloud setup still while a script is edited, and number its lines by @dastratakos in #8178
  • feat(panel): end Workspace connection rows as Integrations' rows do by @dastratakos in #8201
  • feat(panel): say whose plan or key pays for an agent by @dastratakos in #7991
  • feat(panel): space every chip laid in by one smart-insert rule by @dastratakos in #8164
  • fix(sandbox,service,host,panel): stop a sandbox after five minutes with no agent or terminal activity by @charleslpan in #8166
  • feat(mobile): show the member's running agents in a Live Activity by @dastratakos in #8183
  • fix(mobile): keep a split view's linked thread or task drawn, and its group shown by @dastratakos in #8210
  • fix(mobile): draw one notifications state in Settings by @dastratakos in #8211
  • fix(ui): take a finger's press on a segmented choice and a photo tile by @vespin-agent[bot] in #8142
  • feat(ui,panel): mark an unsaved script and save it with ⌘S in Cloud setup by @dastratakos in #8188
  • feat(panel): show the sandbox's state on the Cloud chip and open its popover on a press by @charleslpan in #8095
  • fix(panel,ui,features): say a lapsed Codex sign-in as Integrations does by @dastratakos in #8200
  • feat(features,panel): let a sub-task put in a section stand there by @dastratakos in #8206
  • feat(panel,ui): add sub-tasks and agents from their group heads, as Linear does by @dastratakos in #8207
  • fix(ui): answer ⌘S in a code editor on a non-Latin keyboard layout by @dastratakos in #8221
  • fix(panel): space a mention picked in the description, and keep the punctuation a pick ends before by @dastratakos in #8224
  • fix(database): store an automation run's claim as claimed_at by @charleslpan in #8233
  • refactor(panel): hold integration connect and cancel as one state by @charleslpan in #8234
  • refactor(panel): fold New task's start page and Home refusal into one page value by @charleslpan in #8236
  • fix(mobile,features,ui-native): open agents and pull requests on the app's own screens by @dastratakos in #8214
  • fix(agent-runner): run a Codex message sent while stopping as the next turn by @charleslpan in #8235
  • fix(ui): give a scrolling segmented bar's options a finger's press by @dastratakos in #8203
  • fix(host): route the update service's moves through one transition table by @charleslpan in #8238
  • refactor(panel): hold description comment focus as one value by @charleslpan in #8239
  • refactor(host): give the live socket one connection state by @charleslpan in #8229
  • refactor(credentials): model the loopback consent trip as phases by @charleslpan in #8240
  • fix(service): keep a deleted GitHub installation deleted by @charleslpan in #8242
  • refactor(host): share one LiveState union across the live follows by @charleslpan in #8245
  • fix(credentials): make the account session manager one lifecycle union by @charleslpan in #8250
  • fix(database): index an automation's claims still starting by @charleslpan in #8255
  • fix(host): turn port forwarding on and off one at a time by @charleslpan in #8254
  • refactor(features,host,cli): share one terminal close-code fold by @charleslpan in #8222
  • fix(panel): keep a typed pull request title while its write is out by @charleslpan in #8253
  • feat(service): refuse an agent's archive of an agent still working by @charleslpan in #8230
  • refactor(wire,database): share turn status sets and fence settleKept by @charleslpan in #8232
  • feat(panel): show each plan's 5-hour and weekly usage in Settings and the model menu by @dastratakos in #8099
  • fix(database): keep an approval the runner confirmed from being reopened by @charleslpan in #8226
  • fix(credentials): show one iOS sign-in sheet for trips started together by @charleslpan in #8241
  • test(panel): hold Home's refusal under a dialog start refused over it by @charleslpan in #8257
  • fix(credentials): refuse a loopback redirect after its consent trip is withdrawn by @charleslpan in #8258
  • fix(service): archive an agent that marks its own task done when its turn ends by @charleslpan in #8243
  • fix(service,database): hold Live Activity pushes to what each refresh read by @dastratakos in #8247
  • refactor(database,service): type the integration row status column by @charleslpan in #8252
  • fix(panel): leave an agent's page for Home once it is archived by @charleslpan in #8259
  • refactor(database,features,service): move task status through one table and one settled set by @charleslpan in #8262
  • fix(host): bind each install grace to the attempt that set it by @charleslpan in #8263
  • feat(ui,panel): add useAsyncAction and adopt it at the busy-plus-refusal sites by @charleslpan in #8218
  • fix(host): ask again before every quit once an agreed quit is held by @charleslpan in #8227
  • feat(panel): move an agent still writing by stopping it first by @dastratakos in #8220
  • fix(database): guard every agent sandbox state write on its previous state by @charleslpan in #8246
  • feat(mobile,host): send the Live Activity's tokens and end to the service by @dastratakos in #8202
  • fix(panel): give the automation editor's Save and Run now their own refusals by @charleslpan in #8244
  • fix(service,database): declare inbox item and ask moves and guard reopenAsk by @charleslpan in #8261
  • fix: keep agents out of ~/Music and explain macOS's access prompts by @dastratakos in #7989
  • fix(web): hide the loading frame until its stylesheet lands by @dastratakos in #8213
  • feat(panel): fold a profile's sections as a task's Overview folds its groups by @dastratakos in #8251
  • fix(database): hold an update's record to its token, and forget the state a replaced activity was sent by @dastratakos in #8265
  • feat(panel): edit a comment in place, as it was written by @dastratakos in #7919
  • fix: keep a turn's usage over an older ChatGPT answer and name a teammate's agent in the Inbox by @dastratakos in #8266
  • feat(panel): space every chip and read every @ word by one shared rule by @dastratakos in #8219
  • feat(panel,service): add and remove a comment's files when editing it by @dastratakos in #8012
  • fix(panel,ui): quote a reply's chips and marks, and draw the quote as it will read by @dastratakos in #7984
  • fix(panel): offer Stop only once an agent's turn runs by @charleslpan in #8260
  • feat(database,service): stop reopening inbox items when a task leaves Done by @charleslpan in #8268
  • fix(mobile): name the ended Live Activity by its token when telling the service by @dastratakos in #8269
  • fix(mobile): allow Live Activities and wait for the island in the Live Activity flow by @dastratakos in #8272
  • refactor(panel): move three hand-rolled renames onto useInlineRename by @charleslpan in #8248
  • feat(panel): draw a comment's pictures in its words, as an agent's message does by @dastratakos in #8130
  • refactor(ui,panel): draw toasts on Base UI's toast by @charleslpan in #8212
  • fix(panel): keep a thread's inline pages loaded as tasks are listed by @dastratakos in #8223
  • feat(panel,ui): part a task's head from its description with a divider by @dastratakos in #8264
  • feat(panel,ui): make the box's quote the description's stock blockquote, shown whole and edited in place by @dastratakos in #8102
  • fix(service): draw a refused preview as the no-preview page, with the mark by @dastratakos in #8271
  • fix(mobile,host,ui-native): stop the pull request screen crashing, and catch a screen's throw by @dastratakos in #8270
  • fix(service): leave Done to the developer unless the agent is sure they're finished by @charleslpan in #8276
  • feat(panel,service): confirm before a person stops running agents by @charleslpan in #8267
  • fix(mobile): make the simulator flows pass and stop a red run doubling by @dastratakos in #8278
  • feat(mobile): report crashes to Sentry and count screen opens by @dastratakos in #8279
  • refactor(database): drop agent.read_through by @dastratakos in #8283
  • feat(agent-runner): run Codex agents in permission modes by @dastratakos in #8281
  • feat(service): name a shared preview's host by its task's key by @charleslpan in #8274
  • refactor(service): stop telling models about agents on no task by @dastratakos in #8292
  • refactor(features,panel,host,ui,cli): require the task on agent wire answers by @dastratakos in #8290
  • feat(ui): draw a usage window's reset as a Time, its full moment on hover by @dastratakos in #8284
  • feat(panel): fold Home's sections as a person's page folds its own by @dastratakos in #8273
  • ci(mobile): archive the TestFlight build ad-hoc so it mints no certificate by @dastratakos in #8291
  • fix(features,service): read do asks and answer forms of up to 50 items by @dastratakos in #8299
  • feat(settings): add the Done and follow-ups workspace experiment by @dastratakos in #8304
  • feat(service): hold a queued turn the usage limit refused until its reset by @dastratakos in #8314
  • feat(agent-runner,service): snapshot the checkout before each turn by @dastratakos in #8151
  • ci(mobile): upload the TestFlight dSYMs after the archive and show Sentry's answers by @dastratakos in #8306
  • feat(agents): end a turn with end_turn, a summary and follow-ups by @dastratakos in #8309
  • feat(service,panel): put the files back too on a rewind, where asked by @dastratakos in #8155
  • fix(mobile,ui-native): hear a markdown chip, and fix the flows still red on the simulator by @dastratakos in #8325
  • feat(panel,ui): offer the permission mode in the model chip's menu, as Codex does by @dastratakos in #8275
  • fix(service,host,features): refuse a mode that asks on a host whose runner reads none by @dastratakos in #8324
  • refactor(database,service): stand every page, Inbox item, tab and Inbox file on a task by @dastratakos in #8294
  • feat(agent-runner): keep the Claude Agent SDK and Codex pins current by @dastratakos in #8002
  • feat(panel): draw a turn's end_turn summary as its reply by @dastratakos in #8310
  • fix(panel): give the sidebar walk test the time its profile shows it needs by @dastratakos in #8327
  • feat(desktop,panel,ui): show the app's processes' CPU and memory in a Resources popover by @dastratakos in #8311
  • feat(web,service): trim the invitation copy and open the workspace on joining by @charleslpan in #8322
  • fix(service,database): never hand a message to a runner on a changed permission mode by @dastratakos in #8326
  • refactor(service,features,mobile): drop the step line from the Live Activity by @dastratakos in #8329
  • feat(ui,settings,host): separate finished and needs-you sounds, and a fuller, louder set by @dastratakos in #8205
  • refactor(features,service,panel): require the task of an Inbox item's home and push by @dastratakos in #8295
  • fix(service,web): give shared preview links and the sign-in page a share card by @dastratakos in #8320
  • feat(host,service): put a Mac agent's worktree back too on a rewind by @dastratakos in #8158
  • feat(agents): compact and clear an agent's session on every harness by @dastratakos in #8217
  • feat(panel): draw empty Agents and Sub-tasks groups on a task with none by @dastratakos in #8316
  • feat(panel): list what waits on you in the Inbox bar as Needs you by @dastratakos in #8317
  • test(panel): draw about ten sidebar rows in the walk test, not thirty by @dastratakos in #8328
  • feat(database,service,features): keep a repository's run actions behind the Run actions experiment by @dastratakos in #8185
  • fix(host): follow a state folder removed as its watch is laid by @dastratakos in #8336
  • feat(features,panel): list the files a turn changed under its words, behind the experiment by @dastratakos in #8323
  • fix(ui-native,mobile): host an empty transcript's state in SwiftUI by @vespin-agent[bot] in #8332
  • feat(panel,ui): head a code block open in the editor with the code card's own header by @dastratakos in #8334
  • feat(settings,service,panel): choose the permissions a new agent starts on by @dastratakos in #8287
  • refactor(service,database): drop the service's branches for an agent's own pages by @dastratakos in #8338
  • refactor(cli,mobile): read pages on a task alone by @dastratakos in #8339
  • feat(panel,ui): edit a repository's run actions in Settings › Cloud environment by @dastratakos in #8209
  • feat(service,features): run and stop a repository's run action in a cloud agent's sandbox by @dastratakos in #8216
  • fix(features): count a turn's edit only once it landed by @dastratakos in #8340
  • docs: stop describing agents on no task in comments and test names by @dastratakos in #8341
  • fix(service,agent-runner): wait with our schedule_wakeup on every harness by @charleslpan in #8277
  • feat(panel): run /model, /compact, and /clear from the composer's / list by @dastratakos in #8225
  • feat(features): name the client and its API version on every hosted call by @dastratakos in #8331
  • fix(host): lay a host's file watches at once, so a folder made before one is armed is heard by @dastratakos in #8337
  • feat(panel,ui): write review summaries in the shared composer and say Pending beside the name by @dastratakos in #8298
  • feat(host): run the host daemon from the app bundle by @charleslpan in #8344
  • feat(service): refuse a build below the API floor as needing an update by @dastratakos in #8335
  • feat(panel): offer Done and Follow-ups in the Inbox bar by @dastratakos in #8321
  • fix(ui): keep a code editor's two-digit line numbers on one line by @dastratakos in #8349
  • feat(desktop): ship the host and its LaunchAgent plist inside Vespin.app by @charleslpan in #8345
  • feat(features): read a newer service's words and rows without failing the answer by @dastratakos in #8330
  • feat(service,panel): let Codex agents take a permission mode by @dastratakos in #8282
  • feat(panel,host,settings): run a repository's run actions from the agents' tab row, ⌘K, and a phone's ⋯ by @dastratakos in #8256
  • fix(ui): read a > line inside a fenced block as code, not a quote by @dastratakos in #8348
  • fix(panel): close the review panel on Escape in its summary and hand focus back to Review by @dastratakos in #8352
  • feat(database,service): keep named sounds of an account's own by @dastratakos in #8215
  • feat(panel,ui): write a denial's note to the agent in the shared composer by @dastratakos in #8350
  • fix(host): run one daemon per state root and end the runners a killed one left by @charleslpan in #8353
  • feat(service): deliver agent wakeups through a delayed queue message by @charleslpan in #8288
  • feat(panel): continue an agent in the cloud when its Mac goes offline by @dastratakos in #8347
  • feat(mobile): stand an update screen in front of the tabs while the service refuses the build by @dastratakos in #8357
  • feat(mobile,ui-native,host): read tasks on open and give task rows the panel's menu by @dastratakos in #8359
  • feat(settings,host): keep a Mac awake for its agents by @dastratakos in #8346
  • feat(mobile,ui-native): polish the iOS app's bars, composer, loading, and haptics by @dastratakos in #8360
  • refactor(panel): open an agent's own address on its task by @dastratakos in #8351
  • feat(mobile,ui-native,features): set an Inbox reminder from the iOS app by @dastratakos in #8365
  • refactor(features,database,service,host,panel,desktop): stand every page and mention on a task by @dastratakos in #8364
  • feat(mobile,ui-native): buzz on a task's status and pin, and name the player once it plays by @dastratakos in #8368
  • feat(features,service,database): read the files a turn changed from its checkout snapshots by @dastratakos in #8356
  • feat(database): record an agent's first launch by @charleslpan in #8285
  • feat(mobile): search tasks, Inbox items, and agents from the Search tab by @dastratakos in #8363
  • feat(ui,panel,host): pick and manage your own named sounds in Settings by @dastratakos in #8228
  • refactor(features,host,panel): follow only a task's inbox, and read an automation's run on its agent's tab by @dastratakos in #8370
  • feat(inbox): let a decide's options carry pictures, recordings and pages by @dastratakos in #8312
  • refactor(host): run local agents on the machine's own home and logins by @charleslpan in #8355
  • refactor(panel): keep no side panel beside an agent's own page by @dastratakos in #8374
  • feat(mobile,ui-native,features): answer held calls, read older pages, and name the agent on its page by @dastratakos in #8362
  • fix(host): keep agents' folders on remote Remove and stop the host on sign-out by @charleslpan in #8373
  • feat(host,service,features): diff a Mac agent's worktree between a turn's checkouts by @dastratakos in #8358
  • fix(mobile): read an older page anew when a rewind brings its cursor back by @dastratakos in #8376
  • feat(desktop,host,panel): register This Mac's host through SMAppService by @charleslpan in #8369
  • style(service): cut slop comments in accounts by @vespin-agent[bot] in #8105
  • refactor(service): stop sending account sign-ins to device launches by @charleslpan in #8366
  • feat(panel,ui,host): open a turn's real changes from its files row by @dastratakos in #8371
  • feat(mobile): buzz on Remind me and on Allow and Deny by @dastratakos in #8375
  • feat(panel): draw an inbox option's media on its card by @dastratakos in #8313
  • feat(mobile,ui-native): attach pictures when starting a task or an agent by @dastratakos in #8378
  • feat(mobile,ui-native,features): change a running agent's model and effort from its page by @dastratakos in #8377
  • feat(service): read an agent's first launch into its status and transcript by @charleslpan in #8286
  • feat(mobile,features,panel): open a task's pages in the app and say the panel's words by @dastratakos in #8379
  • fix(features): report a picture whose body the network cut as the network's by @vespin-agent[bot] in #8150
  • fix(panel): show a bare link's whole address by @dastratakos in #7887
  • fix(panel,features): pin a page's Reply comment on the words' own block, tint each, and quote them as every box does by @dastratakos in #8301
  • fix(service): refuse a thread post or description note whose link leads nowhere by @dastratakos in #8343
  • feat(service): hand an agent's first turn the memories its task finds by @dastratakos in #8383
  • fix(mobile): fill the iPad's Inbox thread to its column's height by @dastratakos in #8381
  • fix: read the discarded-effect check one group of workspaces at a time by @dastratakos in #8388
  • feat(mobile): draw an inbox option's media and list it in the CLI by @dastratakos in #8315
  • refactor(host): keep local agents' shared files and attachments outside their folder by @charleslpan in #8367
  • feat(mobile,ui-native,host): native Settings with Account, Notifications, and About by @dastratakos in #8385
  • feat(features,panel): draw memory calls as Markdown in the transcript by @dastratakos in #8382
  • feat(mobile,ui-native,features): switch workspaces from the Inbox's and Tasks' bars by @dastratakos in #8384
  • feat(service,database,features): record where a memory came from and log each recall by @dastratakos in #8389
  • feat(mobile,ui-native,features,brand): make the iOS app accessible by @dastratakos in #8394
  • feat(mobile,ui-native,features): bring the agent composer and page up to the desktop's controls by @dastratakos in #8387
  • feat(service,panel): show each cloud setup script's last run in Settings by @dastratakos in #8208
  • feat(mobile,ui-native): stand an iPad sidebar with Pinned and sections, and reach Settings from the switcher by @dastratakos in #8395
  • feat(mobile,features): hand screens off and find tasks in Spotlight by @dastratakos in #8397
  • feat(ui-native): reach a line's chips by VoiceOver and follow Dynamic Type in pages and media by @dastratakos in #8396
  • fix(ui-native): keep a list's search words as it moves between a split view's columns by @dastratakos in #8404
  • feat(mobile,ui-native): lift a preview on a row's long press and swipe every list by @dastratakos in #8399
  • fix(mobile,ui-native): take presses on the Tasks list and Search again, and clear the composer under a transcript by @dastratakos in #8403
  • fix(mobile,ui-native): stand every sheet as a form sheet and cap reading width on the iPad by @dastratakos in #8406
  • feat(mobile,ui-native,features): native Settings' Workspace and Agents pages by @dastratakos in #8390
  • fix(mobile): stand one sidebar button on a portrait iPad, not two by @dastratakos in #8408
  • fix(mobile,ui-native): reach Merge on the iPad and give wide lists a reading width by @dastratakos in #8409
  • feat(mobile): add the iPad menu bar with real commands by @dastratakos in #8391
  • feat(ui-native): give the composer's presses Apple's 44 pt target by @dastratakos in #8402
  • fix(mobile,ui-native): open the pickers from their values and lower the keyboard from the transcript in the simulator flows by @dastratakos in #8405
  • feat(mobile): offer Archive on a resting agent's row, asked first by @dastratakos in #8411
  • feat(mobile,ui-native,features,host): bring the iOS task page and New task up to the desktop's acts by @dastratakos in #8386
  • fix(mobile): open New task's pickers from their values in the simulator flow by @dastratakos in #8412
  • chore(agent-runner): bump Claude Agent SDK to 0.3.322 by @vespin-agent[bot] in #8413
  • feat(mobile,ui-native,features,host): say why a write did not go in one native notice by @dastratakos in #8398
  • feat(ui-native): hear a section's fold as Collapsed or Expanded by @dastratakos in #8414
  • fix(mobile): ask the agent row's Archive by where the agent stands now by @dastratakos in #8415
  • fix(mobile): keep a tab's search words when its layout swaps by @dastratakos in #8416
  • fix(mobile): keep the pull request page's merge in the top bar by @dastratakos in #8417
  • fix(mobile): never stand the system's tab sidebar beside the app sidebar by @dastratakos in #8418
  • fix(mobile,ui-native,anti-slop): hold every ask out of Screen, write refs after render, and reach the iPad's folded merge by @dastratakos in #8419
  • test(mobile): scroll to the in-page merge before opening More in pull-request.yaml by @dastratakos in #8421
  • fix(mobile): refill the search field as its ref attaches by @dastratakos in #8422
  • feat(mobile,ui-native): draw the pull request's merge in the page in a regular window by @dastratakos in #8420
  • fix(mobile,anti-slop): read the pull request's state from its head, and leave a scalar of an ask alone by @dastratakos in #8423
  • fix(mobile): drop the dequeue question once the queue lets go by @dastratakos in #8424
  • fix(ui-native): redraw an empty state when its words change by @dastratakos in #8426
  • feat(mobile,ui-native): give the iPad a pointer's hover and drag and drop by @dastratakos in #8400
  • fix(panel): say Delete on the Delete account row and drop Goes to from MCP apps by @vespin-agent[bot] in #8427
  • fix(panel): offer ⌘K's This task filter only while a task is open by @dastratakos in #8428
  • fix(mobile): stand the workspace switcher beside the photo in a compact bar by @dastratakos in #8429
  • fix(ui-native): wrap a Markdown list item's words at the page's edge by @dastratakos in #8430
  • feat(service,features,panel,ui): suggest a weekly Memory digest automation by @dastratakos in #8393
  • feat(service): queue every line sent while an agent boots by @charleslpan in #8289
  • feat(mobile,ui-native): draw people's sign-in pictures wherever the app draws a face by @dastratakos in #8432
  • fix(ui-native): keep an empty list item's marker from being drawn over by @dastratakos in #8434
  • feat(service): boot an agent's machine before its first turn by @charleslpan in #8296
  • feat(service): boot Mac agents the same way by @charleslpan in #8302
  • fix(ui-native): let a Settings row take a tap across its whole width by @dastratakos in #8437
  • feat(mobile,ui-native): wear each agent's harness mark on its tile, Clawd or Codex, as the desktop does by @dastratakos in #8436
  • fix(mobile,ui-native): hide the tab's title beside the workspace switcher on iPhone by @dastratakos in #8435
  • feat(service): fail a lapsed first launch and retry it by @charleslpan in #8307
  • chore(host): version 0.11.0 by @charleslpan in #8441
  • feat(panel): show an agent's first launch in its empty transcript by @charleslpan in #8319
  • chore(host): serve host 0.11.0 by @charleslpan in #8443
  • test(mobile): bring the settings and sign-in flows up to the Settings pages by @dastratakos in #8448
  • ci(mobile): number TestFlight builds with whole numbers by @dastratakos in #8449
  • fix(panel): read an agent's box off one hook, so the Inbox reply stands as the tab's by @dastratakos in #8446
  • fix(ui-native): stand an agent's harness mark larger in its tile, and the switcher's chevron in the body's ink by @dastratakos in #8439
  • fix(mobile): head the iPad sidebar's list with the workspace switcher by @dastratakos in #8450
  • chore(release): cut desktop 0.32.0 by @charleslpan in #8454

Full Changelog: v0.31.0...v0.32.0