Skip to content

Vespin 0.25.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 16:27
· 1339 commits to main since this release
bc59884

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