Repository navigation
Vespin 0.25.0
What's Changed
- fix(panel): draw the context ring beside its row in the composer's ⋯ menu by @dastratakos in #6180
- fix(service): a Codex 401 marks the starter's key refused and opens no issue by @vespin-agent[bot] in #6176
- feat(ui): draw sub-tasks with the list-tree glyph everywhere by @dastratakos in #6182
- fix(ui): bring a task row's ⋯ in over its last cell rather than shifting the row by @dastratakos in #6181
- fix(panel): stand a sidebar row's sub-task count left of its pull request icon, spaced off the time by @dastratakos in #6184
- feat(panel): show a sub-task progress badge on a Board card by @dastratakos in #6183
- fix(panel): say update, not upgrade, in Settings › Hosts by @dastratakos in #6186
- fix(ui): fade a regular row's cut description as its title fades by @dastratakos in #6187
- feat(panel): draw sub-task progress as a badge in the Tasks list and a plan's sub-tasks by @dastratakos in #6194
- fix(panel): lead a Settings › Hosts row with whether the host is online by @dastratakos in #6190
- fix(panel): drop the "Runs while … is logged in." line from a Mac's Hosts row by @charleslpan in #6197
- feat(panel): mention Inbox threads and channels from the @ list by @dastratakos in #6192
- feat(panel): offer a task's plan, pages, agents, and pull requests in the Inbox reply box's @ list by @dastratakos in #6195
- fix(ui,panel): draw every Inbox count in the one needs-you tone by @dastratakos in #6191
- fix(panel): name a Settings row's lone act by its row by @vespin-agent[bot] in #6177
- fix(panel): Hosts and channels say a failed read and a signed-out page as every page does by @vespin-agent[bot] in #6178
- fix(panel): disconnecting a lone integration account says what goes by @vespin-agent[bot] in #6179
- fix(panel): move a host row's Remove into its ⋯ menu by @dastratakos in #6189
- fix(ui): a one-line label whose glyphs pass its leading no longer fades by @vespin-agent[bot] in #6171
- fix(service): a stale config.lock no longer fails every sandbox relaunch by @vespin-agent[bot] in #6150
- feat(panel,features): add a Relation pill to New task, and New task for every relation kind by @dastratakos in #6200
- build(vercel): build agent branches' previews only on request by @charleslpan in #6196
- perf(service): keep agent sandbox snapshots for a shorter time by @charleslpan in #6198
- fix(ui): narrow chat bubbles so the two sides stand apart by @dastratakos in #6202
- perf(service): let idle agent sandboxes stop under a watched Browser pane and the agent's browser by @charleslpan in #6199
- feat(service): let create_task make a task related to another by @dastratakos in #6204
- feat(panel,ui): swipe between files in the media viewer on a touch screen by @dastratakos in #6205
- fix(panel): line up sidebar row icons by giving the time a fixed slot by @dastratakos in #6207
- perf(host): draw a task started without opening in the sidebar at once by @dastratakos in #6208
- fix(panel,ui): show a video's first frame in the viewer's strip and wrap a row of pictures by @dastratakos in #6209
- feat(service): hand a started agent's final message to its starter as its turn settles by @dastratakos in #6213
- fix(panel,ui): fade a sidebar row's name where its marks begin by @dastratakos in #6216
- fix(ui): keep a phone's sheet on the screen, and refuse a grid with an auto column by @dastratakos in #6206
- fix(copy): cut the slop copy that landed since the fifteenth sweep by @vespin-agent[bot] in #6221
- fix(service): open an agent's video on the page, not its loading by @dastratakos in #6219
- docs(changelog): add screenshots for 0.23.0 and 0.24.0 by @dastratakos in #6218
- fix(ui): round a card list's focus ring where it meets the card's corner by @dastratakos in #6223
- fix(ui): glide the rows under a fold up as it closes, as they glide down as it opens by @dastratakos in #6217
- fix(ui,panel): give the audit's snapping exits a fade, and put their easings on tokens by @dastratakos in #6220
- feat(panel): bring back a channel's View options, sharing the Inbox's by @dastratakos in #6225
- feat(host): share one pnpm store and npm cache among a box's agents by @charleslpan in #6228
- feat(panel): lead the @ list with agents and tasks, and put files last by @dastratakos in #6229
- feat!: remove the operator agent by @dastratakos in #6222
- fix(ui,panel): leave on the beat things arrive on, and put each gesture on one beat by @dastratakos in #6224
- fix(panel): keep an Inbox picture's viewer open while a new thread lands by @dastratakos in #6227
- feat(agents): carry a host launch's step to the transcript by @charleslpan in #6231
- feat(host): report a host launch's steps as it reaches them by @charleslpan in #6234
- chore(host): version 0.5.0 by @charleslpan in #6235
- feat(service,database): retire a host agent's warm runner from the scheduled sweep by @charleslpan in #6236
- feat(host): serve install.sh for host 0.5.0 by @charleslpan in #6237
- feat(service,web): serve agent pages from the fullspin.page sandbox behind signed links by @dastratakos in #6230
- feat!: call the product Fullspin by @dastratakos in #6233
- feat(web): frame agent pages from the fullspin.page sandbox by @dastratakos in #6232
- feat(service,database): keep a host agent's runner warm for 30 minutes by @charleslpan in #6238
- refactor(features,host,service): write the hosted origin once and scan old link hosts for pictures by @dastratakos in #6215
- feat(service): tell agents to make their pages work on a phone by @dastratakos in #6241
- fix(panel): put the new task card away on the first Escape by @dastratakos in #6243
- feat(panel,web): open an agent page in the browser by @dastratakos in #6244
- fix(desktop): stop reporting one-second panel freezes to Sentry by @vespin-agent[bot] in #6247
- refactor: spell the product's name in one constant by @dastratakos in #6252
- fix(panel,ui): stop Settings › Integrations shifting as it loads by @dastratakos in #6253
- fix(panel): report a failed memories read with what it failed with by @vespin-agent[bot] in #6254
- feat!: call the product Vespin by @dastratakos in #6255
- fix(panel): fold every to-do call in the transcript by default by @dastratakos in #6258
- ci: build and release the app as Vespin by @dastratakos in #6261
- feat(service): email a workspace invitation to the address it was made for by @dastratakos in #6262
- feat!: move the product's identity to vespin.dev by @dastratakos in #6242
- fix(ui): a folded path unfolds when its bar widens in a render by @dastratakos in #6263
- fix(panel): offer Find from a phone's ⋯ menus by @dastratakos in #6256
- docs(service): say the service's comments without the product's name by @dastratakos in #6268
- docs(panel,ui): say the panel's and ui's comments without the product's name by @dastratakos in #6270
- docs(features,host): say the other packages' comments without the product's name by @dastratakos in #6272
- docs(desktop,web): say the apps' comments without the product's name by @dastratakos in #6273
- fix(panel): offer Undo on every move into or out of a section by @vespin-agent[bot] in #6239
- fix(settings): say sub-tasks in the Pilot experiment's description by @vespin-agent[bot] in #6240
- fix(ui,panel): read a sub-task row's level and place among its siblings by @dastratakos in #6248
- fix(panel): say what a section holds where the view hides its tasks by @dastratakos in #6245
- refactor(service,features,panel): name the memory and plan-comment tools for what they act on by @vespin-agent[bot] in #6260
- feat(panel): draw no ⋯ on sidebar task and agent rows under a coarse pointer by @dastratakos in #6246
- feat(panel): draw no ⋯ on person page and Automations rows under a coarse pointer by @dastratakos in #6250
- fix(panel): draw Regenerate with the retry glyph and ban the sparkle by @dastratakos in #6269
- feat(panel): open something from every run and draw no ⋯ on run rows under a coarse pointer by @dastratakos in #6274
- feat(anti-slop): refuse the product's name in comments too by @dastratakos in #6277
- feat(panel): name the sidebar's task list for whose tasks it holds by @dastratakos in #6249
- feat(panel): draw no ⋯ on small press rows under a coarse pointer by @dastratakos in #6275
- feat(ui,panel): draw no ⋯ on Tasks page rows and cards under a coarse pointer by @dastratakos in #6251
- fix(features): let a workspace keep 1,000 memories by @vespin-agent[bot] in #6264
- fix(service): read message_agent's words under message too by @vespin-agent[bot] in #6265
- fix(service): show one picture show_image is handed bare by @vespin-agent[bot] in #6266
- fix(panel): say "Generating chapters" whoever started the run by @dastratakos in #6278
- feat(web): load agent pages from vespin.page by @dastratakos in #6257
- feat(service): follow a GitHub repository through a rename or transfer by @dastratakos in #6279
- feat(panel): say where the chapters stand on the Chapters tab by @dastratakos in #6276
- feat(web,service): restyle the invitation flow and say when the reader is already a member by @dastratakos in #6288
- feat(service): refuse eve agents and start none on eve by @dastratakos in #6289
- docs(panel,web): drop the old product name from five comments by @dastratakos in #6291
- feat(panel): draw withdrawn and replaced asks as thread lines by @dastratakos in #6283
- fix(ui): fit a full-screen video to the screen rather than its width by @dastratakos in #6292
- fix(service): correct tool and prompt wording that the code contradicts by @dastratakos in #6281
- feat(features,panel): open a page's links out in the browser by @dastratakos in #6259
- feat(host,panel,web): open a mailto link in the mail app by @dastratakos in #6285
- fix(service): count server analytics events by who acted and where by @charleslpan in #6295
- fix(analytics): deliver the site's sign-in count and count web sign-ins by @charleslpan in #6297
- feat(service): count the missing core-loop and setup actions by @charleslpan in #6296
- feat(service): load Vespin's frequent tools up front and keep Claude Code's TaskStop and SendMessage by @dastratakos in #6284
- feat(database): archive every agent left on eve by @dastratakos in #6290
- feat(ui,panel): lead a related task's row with its relation in words by @dastratakos in #6303
- feat(features,service): start a task with several relations by @dastratakos in #6299
- fix(panel,ui): close the session replay masking leaks by @charleslpan in #6302
- fix(panel): seat an agent row's failed mark like the sidebar's other marks by @dastratakos in #6300
- feat(service,web)!: remove the eve app, its deployment, and the native relay by @dastratakos in #6293
- feat(integrations): offer Gmail, Google Calendar, and Google Drive by @dastratakos in #6267
- chore(service,agent-runner): clean up four leftovers from the agent audit by @dastratakos in #6308
- fix(service,panel): name a refused own API key on a failed turn and in its report by @dastratakos in #6301
- feat(ui,panel): open MCP servers from the agent box's + menu by @dastratakos in #6305
- fix(panel): keep a picture's viewer card at the room's size by @dastratakos in #6280
- feat(automations): run an automation with no repository by @dastratakos in #6271
- fix(panel,ui): draw a plain link one way when reading and editing by @dastratakos in #6298
- refactor(service,panel): remove the eve host door and fold eve into the ended-for-good path by @dastratakos in #6304
- refactor(service): shrink the automation tools' input schemas by @dastratakos in #6309
- fix(service): refuse a message to an eve agent as ended before its credential by @dastratakos in #6315
- fix(ui): hold a fold's words still when it is pressed by @dastratakos in #6314
- docs: describe agents on Claude Code and Codex in place of the eve app by @dastratakos in #6307
- fix(service): offer post_thread to every agent, and run_on_mac only where it can run by @dastratakos in #6287
- feat(service): group server analytics by workspace by @charleslpan in #6306
- fix(service,features): send every answered ask back to its agent by @dastratakos in #6310
- feat(panel): New task's + menu with MCP servers by @dastratakos in #6311
- feat(demo-postgres): add a throwaway Postgres 18 for the local demo by @charleslpan in #6319
- feat(service): let an agent's Done withdraw a task's open asks by @dastratakos in #6312
- feat(panel): New task relates several tasks from its + menu by @dastratakos in #6313
- fix(service): keep deleted accounts out of PostHog by @charleslpan in #6320
- fix(panel): leave the markup's comments out of a session recording by @charleslpan in #6322
- fix(panel): keep a shut gap's arrow room and draw notes on the code's ground by @dastratakos in #6325
- feat(ui,brand): Copper theme from one swappable brand table by @dastratakos in #6327
- feat(web): serve the hosted routes from a local server by @charleslpan in #6328
- feat(web): route PostHog traffic through our own domain by @charleslpan in #6318
- feat(service): count the remaining app actions by @charleslpan in #6329
- feat(service): seed the acme demo world into a fresh database by @charleslpan in #6324
- fix(host): give the uninstall and connect commands by their full path by @charleslpan in #6331
- feat(brand): the Keel mark and Vespin's asset set, in place of the face by @dastratakos in #6332
- feat(service,panel): group app events and replays by workspace by @charleslpan in #6326
- feat(host,service): report each host's machine by @charleslpan in #6336
- feat(host,panel): keep the account host as This Mac behind one-host-program gate by @charleslpan in #6337
- refactor(desktop,host): drop the in-app host from the app by @charleslpan in #6341
- feat(integrations): name every account by the provider's own name, Google's by email by @dastratakos in #6323
- feat!: remove Run on this Mac and Repositories on this Mac by @charleslpan in #6338
- fix(panel): say the workspace Sentry row is for automations by @dastratakos in #6335
- chore: point the repository's links at ReviewStage/vespin by @dastratakos in #6342
- feat(host,panel): name machines the same on Hosts and Runs on by @charleslpan in #6345
- feat(database,service): keep one device row per machine by @charleslpan in #6339
- feat(automations): same agent adopts its first run's agent and replaces a gone one by @dastratakos in #6334
- fix(service): tell agents a thread's link alone on its line is its one card by @dastratakos in #6347
- fix(panel): call the agent box's servers row Integrations by @dastratakos in #6344
- feat(service): a calmer invitation email with the workspace's picture by @dastratakos in #6349
- fix(panel): draw the Terminal tab on Copper's well by @dastratakos in #6350
- chore(host): version 0.6.0 by @charleslpan in #6351
- chore(scripts): refuse more provider credential shapes in the secret check by @charleslpan in #6353
- docs: clear stale internal docs and tracker keys by @charleslpan in #6354
- docs: unify the pitch as an inbox for all your coding agents by @charleslpan in #6356
- fix(brand): draw the Keel mark larger in the app icons by @dastratakos in #6348
- docs: fix the contributor docs, templates, and workspace descriptions by @charleslpan in #6352
- feat(host): serve install.sh for host 0.6.0 by @charleslpan in #6358
- chore: remove the Entire hooks, dead files, and probe placeholders by @charleslpan in #6355
- feat(host): report the host's own agents folder at register by @charleslpan in #6359
- fix(service): end a local agent's turn when its launch never starts by @charleslpan in #6360
- fix(service): end a never-started launch's turn when its device's lease lapses by @charleslpan in #6361
- feat(host,panel): delete the one-host gate by @charleslpan in #6362
- fix(service): trust the project's previews under its vespin name by @dastratakos in #6363
- feat(web): sign the demo in locally as its seeded member by @charleslpan in #6333
- refactor(brand): name the brand assets without the product's name by @dastratakos in #6365
- fix(brand): draw the Keel mark larger in the avatars by @dastratakos in #6366
- feat(scripts): run the demo on this Mac with run.sh --demo by @charleslpan in #6346
- feat(service,panel): comment on a task's pages, and reach the agents in a thread by @dastratakos in #6321
- feat(service,panel): start agents on repo-less tasks in the local demo by @charleslpan in #6370
- feat(desktop): bring the closed window back with ⌘0 by @dastratakos in #6369
- feat(integrations): name every remaining provider's account through its own MCP server by @dastratakos in #6368
- fix(ui): draw an attachment chip's picture at its own shape by @dastratakos in #6364
- fix(panel): wrap a GitHub card's head when its card is narrow by @dastratakos in #6367
- fix(panel): offer Reply over a triple-clicked last paragraph by @dastratakos in #6374
- fix(panel): give a resting comment card the same top inset as an open one by @dastratakos in #6372
- feat(panel): fade a page's comment threads in and out of its column, as the plan's margin does by @dastratakos in #6373
- fix(ui,panel): stand a page comment's pin inside its element where the room has none beside it by @dastratakos in #6375
- feat(host): rename the host program to vespin-host by @charleslpan in #6376
- feat(wire,service,panel): draw a comment that reached an agent as a comment in its transcript by @dastratakos in #6378
- refactor(panel): the Pull request tab reads through one source by @dastratakos in #6380
- feat(features,service): read, review and chapter a pull request by repository by @dastratakos in #6385
- chore(host): version 0.7.0 by @charleslpan in #6387
- feat(ui,panel): draw an integration's account beside its provider, muted by @dastratakos in #6388
- feat(service): an agent keeps the automation run it belongs to by @dastratakos in #6382
- fix(panel,ui): open an Inbox item's links beside it by @dastratakos in #6379
- fix(ui,panel): fit the phone's drawer, touch targets, tab row, code, and pull request card by @dastratakos in #6381
- perf(ui,panel): glide the sidebar and side panel without redrawing the window by @dastratakos in #6384
- feat(scripts,service): run the demo's agents on a host of its own by @charleslpan in #6377
- fix(ui,panel): cut an account at the row's end and mend a connection on its line by @dastratakos in #6390
- fix(copy): cut the slop copy that landed since the sixteenth sweep by @vespin-agent[bot] in #6392
- feat(host): serve install.sh for host 0.7.0 by @charleslpan in #6393
- feat(panel): count files in the Files changed tab and lines in the PR header by @dastratakos in #6330
- fix(panel): keep a row of pictures between 3:4 and 2:1 by @dastratakos in #6396
- fix(scripts): run the demo's host from the renamed vespin-host bundle by @charleslpan in #6397
- fix(ui,panel): fade an account to its count, the chevron taking the count's place on hover by @dastratakos in #6395
- refactor(service,database): require an agent's runtime, drop eve's worker writes and dead checkout steps by @dastratakos in #6340
- feat(service): link the installer's GitHub when they install the App by @dastratakos in #6391
- refactor: rename LUKE_* environment variables to APP_* by @dastratakos in #6398
- fix(service,panel): send a wakeup as the agent's own line by @dastratakos in #6371
- fix(ui,panel): say a form's errors in the app's error line, never the browser's bubble by @dastratakos in #6343
- test: rename test-only luke fixture names to generic ones by @dastratakos in #6400
- refactor(ui): rename --luke-* design tokens to --ui-* by @dastratakos in #6402
- refactor: give every model-visible luke name a generic one by @dastratakos in #6399
- style(service): cut slop comments in tasks by @vespin-agent[bot] in #6404
- chore(ui): rename .luke-* classes to .ui-* and data-luke-* attributes to data-ui-* by @dastratakos in #6401
- feat(panel): relate a task inline from every task menu as Task relation by @dastratakos in #6403
- refactor(service,web)!: reach agents' sessions without eve's secret, origin, or client by @dastratakos in #6357
- refactor: rename the luke tools and MCP server code names to workspace by @dastratakos in #6405
- refactor: give the desktop, web and sandbox shell names role names by @dastratakos in #6408
- refactor: name the app's own actor and stored values app by @dastratakos in #6409
- feat(service): run the demo's seeded agents on its host by @charleslpan in #6410
- feat(web,ui): the Vespin landing on Copper, its screens drawn from the app's own components by @dastratakos in #6407
- refactor!: rename the workspace package scope from @luke to @repo by @dastratakos in #6411
- fix(panel): keep the drawer's workspace head clear of back and forward by @dastratakos in #6412
- fix(service): own the old link hosts as production's origins by @vespin-agent[bot] in #6413
- feat(service,panel): connect our Slack bot to a workspace and DM a member by @dastratakos in #6406
- fix(ui): float the landing's bar without moving the page under it by @dastratakos in #6415
- fix(panel): hold Sentry's Disconnect behind its row's ⋯ by @dastratakos in #6414
- fix(web): tidy the site's URLs without moving a saved link by @dastratakos in #6418
- feat(database): give new personal workspaces a readable slug by @dastratakos in #6419
- fix(features): write task links under /task/, keeping /plan/ read by @dastratakos in #6416
- fix(ui): draw the landing's screens as the app draws them by @dastratakos in #6421
- feat(service,panel): send an automation run's result to its owner on Slack by @dastratakos in #6420
- feat(service,panel): DM a member in Slack the threads that wait on them by @dastratakos in #6422
- feat(web,ui): draw About, Changelog, and Privacy in the landing's frame by @dastratakos in #6423
- feat(web): serve the auth pages at clean paths by @dastratakos in #6425
- feat(service): answer a decide ask from its Slack DM's buttons by @dastratakos in #6429
- feat(panel): bring back the Home page by @dastratakos in #6424
- feat(features): open flat Inbox links by @dastratakos in #6427
- feat(panel,service): let an owner change the workspace's slug by @dastratakos in #6426
- feat(service): start agents from @Vespin in Slack by @dastratakos in #6431
- feat(features): open task links by their workspace number by @dastratakos in #6428
- feat: write task numbers and flat Inbox links by @dastratakos in #6432
- feat(web,panel): open Home at vespin.dev/ and the Board at /tasks by @dastratakos in #6430
- fix(web,panel): show not found for a path that names no workspace by @dastratakos in #6433
- feat(panel): write task links with their number in the panel by @dastratakos in #6434
- fix(ui): keep the landing's models scene out of the keyboard's path by @vespin-agent[bot] in #6435
- fix(ui): hold the landing still wherever motion is held, capture runs too by @vespin-agent[bot] in #6436
- feat(web): give Google Vespin's site name and logo by @dastratakos in #6437
- feat(service): find Slack members through their own Slack connection by @dastratakos in #6438
- feat(service): default Slack starts to channel and workspace repositories by @dastratakos in #6442
- feat(panel): pick Slack channels and their repositories in Settings by @dastratakos in #6443
- fix(panel): keep a loading page's frame off the white canvas by @dastratakos in #6444
- fix(web): drop the license line from the landing's close by @vespin-agent[bot] in #6445
- fix(panel): mark a Slack channel's kind instead of repeating its hash by @dastratakos in #6446
- fix(panel): draw the dictation waveform on iOS Safari by @dastratakos in #6417
- refactor(service): retire the agent channel tools by @dastratakos in #6447
- fix(ui): keep a banner's presses beside its words wherever they fit by @dastratakos in #6449
- refactor(panel): remove the channels experiment from the clients by @dastratakos in #6450
- fix(service): log each Slack request the bot's route hears by @dastratakos in #6451
- refactor(panel): open every client on Home and delete the launch reopen by @dastratakos in #6439
- fix(web): draw the 404 in the site's dark frame with dotted numerals by @dastratakos in #6452
- refactor(service): remove channel plumbing and undeclare its schema by @dastratakos in #6453
- fix(service): stop trusting the old luke- preview hosts at sign-in by @dastratakos in #6455
- refactor(database): drop the channel tables and inbox_item.channel_id by @dastratakos in #6454
- refactor: name threads and the inbox, never channels by @dastratakos in #6456
- docs(panel): drop the channel example from Confirms by @dastratakos in #6457
- chore: clear the last luke names the app ships or shows by @dastratakos in #6458
- feat(panel): fold a phone's pull request header away with the scroll by @dastratakos in #6459
- refactor: write vespin wire names between the app, host and service by @dastratakos in #6460
- refactor(database): hear Sync's next channel beside luke_sync by @dastratakos in #6461
- refactor(service): give the service's luke names generic ones by @dastratakos in #6462
- fix(slack): draw agents' Markdown in markdown blocks and acknowledge presses at once by @dastratakos in #6463
- refactor(host)!: name the host vespin-host everywhere and drop pre-rename installs by @dastratakos in #6464
- refactor(service): install the sandbox's tools under /opt/agent by @dastratakos in #6465
- refactor(service): keep a sandbox's state under .agent by @dastratakos in #6467
- refactor(service): name a Terminal tab's tmux sessions generically by @dastratakos in #6468
- feat(slack): reply in a thread's DM with the agent's later posts by @dastratakos in #6469
- refactor(service): name agents' sandboxes, templates and snapshots generically by @dastratakos in #6470
- refactor(database): move Sync's capture to app_sync by @dastratakos in #6471
- chore: name release packaging, analytics and Sentry vespin by @dastratakos in #6466
- chore(host): version 0.8.0 by @dastratakos in #6473
- feat(panel): draw a to-do step's fenced command as a code card to copy by @dastratakos in #6472
- chore(release): bump the desktop to 0.25.0 and write its changelog by @dastratakos in #6475
Full Changelog: v0.24.0...v0.25.0