Repository navigation
Releases
Dev 4042260
Built from 4042260 on main. This release moves with every push to main that passes the checks, so it may break. Install it with curl -fsSL https://vaakx-dev.github.io/sand/install.sh | sh -s -- --channel dev, or in PowerShell with $env:SAND_CHANNEL='dev'; irm https://vaakx-dev.github.io/sand/install.ps1 | iex.
Nightly 2026-11-14
Built from 2812deb on main, the newest commit that passed the checks. This release moves at most once a day when main changes. Install it with curl -fsSL https://vaakx-dev.github.io/sand/install.sh | sh -s -- --channel nightly, or in PowerShell with $env:SAND_CHANNEL='nightly'; irm https://vaakx-dev.github.io/sand/install.ps1 | iex.
v0.1.0-beta.1
What's Changed
- feat(bots): notes on their work; threads read like bots by @vaakx-dev in #187
- feat(bots): watches wake a bot only when something changes by @vaakx-dev in #189
- fix(composer): a message sent again after a lost answer runs once by @vaakx-dev in #190
- feat(compaction): 5-minute cache, idle timed from replies by @vaakx-dev in #191
- feat(logins): agents sign in with saved logins by @vaakx-dev in #192
- feat(logins): logins can live in Bitwarden or 1Password by @vaakx-dev in #193
- feat(logins): one-time secrets are held for one use, not saved by @vaakx-dev in #194
- fix(browser): pages can't tell sand's browser is automated by @vaakx-dev in #195
- fix(html): turn down a file path passed as html by @vaakx-dev in #196
- fix(html): show a file passed as html, and images as pages by @vaakx-dev in #197
- refactor: remove PR machinery, git UI and the Bots space by @vaakx-dev in #199
- feat(look): a quiet black theme, a restyled kit and the pieces the new screens need by @vaakx-dev in #200
- feat(ui-shell): contracts for the UI rewrite by @vaakx-dev in #198
- refactor(git): remove per-turn changes, restore and Changes panel by @vaakx-dev in #201
- feat(bots): bots manage many projects; plans link threads by @vaakx-dev in #202
- refactor: drop job skills, settled status, worktree PRs by @vaakx-dev in #203
- feat(changes): ready work and local merge for threads by @vaakx-dev in #204
- feat(ui-shell): the app shell replaces the old layout by @vaakx-dev in #205
- feat(bridge): bot threads open as tabs with live state by @vaakx-dev in #207
- feat(ui-look): one type scale, surface levels and light mode by @vaakx-dev in #209
- feat(bot-views): the bots UI by @vaakx-dev in #208
- feat(ui-look): approved hierarchy; settings in the sidebar by @vaakx-dev in #213
- feat(calendar): calendar in the new shell by @vaakx-dev in #210
- feat(chat): the new thread view, transcript and composer by @vaakx-dev in #212
- fix(ui-look): long branches truncate in work rows by @vaakx-dev in #214
- feat(bot-views): bot chat dock and Advanced bot settings by @vaakx-dev in #215
- fix(ui-look): dropdowns stay inside the screen by @vaakx-dev in #217
- feat(threads-home): Home, chips, rows and Search by @vaakx-dev in #211
- fix(chats): threads see entries other runtimes appended by @vaakx-dev in #218
- feat(threads-home): New chat picks its project in Search by @vaakx-dev in #220
- feat(settings): settings pages and app chrome in the new design by @vaakx-dev in #206
- fix(ui-kit): projects without an icon show their dune by @vaakx-dev in #221
- feat(project): one Add project sheet for every PC, and bringing a project to another PC by @vaakx-dev in #219
- feat(chat): the composer's new look by @vaakx-dev in #222
- feat(palette): New chat sheet and Search for phones by @vaakx-dev in #223
- feat(devices-ssh): SSH hosts as your PCs by @vaakx-dev in #216
- feat(project): SSH hosts in the Add project sheet's PC step by @vaakx-dev in #224
- fix(cli): fail on a blank --home instead of using ~/.sand by @vaakx-dev in #225
- feat(devices-ssh): an SSH section in Devices settings by @vaakx-dev in #226
- fix(devices): connect over the first route that answers by @vaakx-dev in #227
- feat: the new interface by @vaakx-dev in #228
- fix(ui): open threads only, no day groups, fixed foot, swipe forward on phones by @vaakx-dev in #230
- Keep user messages still when their actions appear by @vaakx-dev in #229
- Give message actions their own space so they cover nothing by @vaakx-dev in #231
- feat(ui): quieter expanded tool calls: icon, verb and mono target, coloured meta instead of badges, diff view for edit, page excerpt for fetch, prompt view for thread_start by @vaakx-dev in #232
- feat(composer): synced drafts, stash, background-aware running by @vaakx-dev in #233
- fix(composer): Working pill list is borderless and lines up with the composer by @vaakx-dev in #234
- feat(sidebar): group threads by state; Calendar nav row; bot threads in the sidebar by @vaakx-dev in #235
- fix(kit): pill lists never scroll sideways, and the pill icon lines up with the message text by @vaakx-dev in #236
- fix(sidebar): pinned threads lead their group again by @vaakx-dev in #237
- refactor(tools): one tool per job; unique tool names by @vaakx-dev in #238
- fix(accounts): a cut-off character no longer breaks a chat by @vaakx-dev in #239
- fix(state): cut-off saves leave settings files whole by @vaakx-dev in #240
- feat(vstack): stricter clean-code skill; replies name bugs by @vaakx-dev in #241
- fix(engine): don't end a turn silently on an empty model reply by @vaakx-dev in #242
- Skip the empty-reply nudge on turns started by a notice by @vaakx-dev in #243
- chore: remove code comments and fail check when one comes back by @vaakx-dev in #244
- feat(ui): new layout with inspector, panel and terminal by @vaakx-dev in #245
- fix(ui): Working group, one-row phone panel, model names by @vaakx-dev in #246
- fix(threads-home): the Working group starts open by @vaakx-dev in #247
- Details card: float when roomy, popover when not by @vaakx-dev in #248
- perf: agents stop waiting on sleeps, CI and slow checks by @vaakx-dev in #249
- Phone polish: one-line bot header and previews, plain nav rows by @vaakx-dev in #250
- Bot rows show a one-line AI gist of the latest reply by @vaakx-dev in #251
- fix: space sidebar sections apart by @vaakx-dev in #252
- Clear leftover worktree folders without following junctions by @vaakx-dev in #253
- fix(model-panel): show the chosen model's provider icon by @vaakx-dev in #254
- Fix the Running card covering the composer and reading 0s by @vaakx-dev in #255
- Prefer the caller's source and subscriptions when a model name matches several sources by @vaakx-dev in #256
- perf(bots): bots and bot chats restore from the device by @vaakx-dev in #257
- perf(web): split the bundle, load xterm and KaTeX on demand by @vaakx-dev in #258
- perf(web): phone list paints sooner; native device keys by @vaakx-dev in #259
- perf(chat): keep recent chats, load the editor on demand by @vaakx-dev in #260
- perf(web): vrui adds utility rules without a sheet rewrite by @vaakx-dev in #261
- perf(devices): signed sockets; reloads resume in 2 trips by @vaakx-dev in #262
- perf(chat): chats open from memory without page restyles by @vaakx-dev in #263
- perf(web): boot without eval probe; compile off main thread by @vaakx-dev in #264
- fix(compaction): meter counts only loaded tools by @vaakx-dev in #265
- perf(tools): tools take less context at the start by @vaakx-dev in #267
- Phone swipes for the sidebar, details and terminal; bot chats get a terminal by @vaakx-dev in #266
- feat(bots): bot chats show context, threads and plan by @vaakx-dev in #268
- feat(shell): phone chat is the window, side views cover it by @vaakx-dev in #269
- feat(shell): phone Settings gets Back; sidebar closes with X by @vaakx-dev in ...
v0.1.0-alpha.7
Full Changelog: dev...v0.1.0-alpha.7
v0.1.0-alpha.6
v0.1.0-alpha.5
What's Changed
- fix(attachments): images are labeled by their real format by @vaakx-dev in #84
- fix(html): local images load; pages survive reloads by @vaakx-dev in #85
- feat(ui): one clear hierarchy and one look by @vaakx-dev in #86
Full Changelog: nightly...v0.1.0-alpha.5
v0.1.0-alpha.4
What's Changed
- feat(files-panel): a Files tab to browse and read the thread's folder by @vaakx-dev in #79
- feat!: Orrin is gone; commit and file-pr skills are back by @vaakx-dev in #80
Full Changelog: nightly...v0.1.0-alpha.4
v0.1.0-alpha.3
What's Changed
- fix(sync): copied projects show a clean git status by @vaakx-dev in #48
- feat(chat): a waiting steer shows as a normal message by @vaakx-dev in #49
- refactor(llm-accounts): sign-in plans come from plugins by @vaakx-dev in #50
- feat(accounts): Claude Code and Codex run through their apps by @vaakx-dev in #51
- fix(claude-code): Claude Code models use sand's model ids by @vaakx-dev in #52
- fix(models): picker shows the thread's PC models; clean names by @vaakx-dev in #53
- chore(license): sand is MIT licensed by @vaakx-dev in #54
- fix(readme): README is short and matches the app by @vaakx-dev in #55
Full Changelog: nightly...v0.1.0-alpha.3