Releases: bolt-builder/bolt-cli
Releases · bolt-builder/bolt-cli
Release list
v1.21.0
Changes since v1.20.7
Core
Improvements
df91602feat(bolt): enforce protected paths in write (@A-x6)f2f1b3cfeat(bolt): enforce protected paths in edit (@A-x6)669463bfeat(bolt): add protected path matching (@A-x6)0199265feat(bolt): warn on contradictory instructions (@A-x6)0aac7b0feat(bolt): record prepared requests when enabled (@A-x6)2763903feat(bolt): add request replay module (@A-x6)9ea8b2bfeat(bolt): provide tool budget service to prompt loop (@A-x6)8b88487feat(bolt): enforce tool budgets on execution (@A-x6)537f02dfeat(bolt): add session tool budget service (@A-x6)003d7fefeat(bolt): add context lint module (@A-x6)7bd8d34feat(bolt): attribute saves to messages (@A-x6)bbf24fafeat(bolt): register blast command (@A-x6)49c4d37feat(bolt): add blast radius analysis (@A-x6)a360975feat(bolt): register undo command (@A-x6)98df59efeat(bolt): rank failing and hot files first (@A-x6)1056264feat(bolt): gate prompt redaction on config (@A-x6)05f8eadfeat(bolt): add file ranking module (@A-x6)a4ea080feat(bolt): redact secrets from outbound prompts (@A-x6)ad64dd6feat(bolt): inject symbol graph after edits (@A-x6)93c12cdfeat(bolt): add symbol graph module (@A-x6)a86b784feat(bolt): register drift command (@A-x6)cc05825feat(bolt): register migrate command (@A-x6)7eb594ffeat(bolt): report commands instead of running in dry-run (@A-x6)cd29981feat(bolt): report writes instead of applying in dry-run (@A-x6)9041812feat(bolt): report edits instead of applying in dry-run (@A-x6)6abf638feat(bolt): add dry-run helpers (@A-x6)1af4d91feat(bolt): register asserts command (@A-x6)d18f474feat(bolt): attach changed hunks for modified files (@A-x6)cc796c0feat(bolt): add hunk parsing module (@A-x6)89db283feat(bolt): register deps command (@A-x6)0e4df45feat(bolt): register submodules command (@A-x6)54d6154feat(bolt): register tighten command (@A-x6)7ba1de2feat(bolt): register worktree command (@A-x6)875f20cfeat(bolt): register owners command (@A-x6)50fc272feat(bolt): add branch boundary module (@A-x6)f36e91dfeat(bolt): veto risky commands via guardrail agent (@A-x6)f63fa57feat(bolt): provide guardrail service to tool registry (@A-x6)f037a83feat(bolt): add guardrail review service (@A-x6)a71fd00feat(bolt): add guardrail agent prompt (@A-x6)2fe15b9feat(bolt): register why command (@A-x6)b22c999feat(bolt): register analyze command (@A-x6)0e755ccfeat(bolt): register hotspots command (@A-x6)88af105feat(bolt): distill context for small models (@A-x6)bd10f01feat(bolt): add distilled context selection (@A-x6)c610b90feat(bolt): register commitlint command (@A-x6)a6fc610feat(bolt): register packages command (@A-x6)b8c6512feat(bolt): require approval sign-off for destructive commands (@A-x6)5cdc4e2feat(bolt): provide approval service to tool registry (@A-x6)6541ddcfeat(bolt): add two-agent approval service (@A-x6)d239133feat(bolt): add approval reviewer prompt (@A-x6)95df003feat(bolt): register coverage tool (@A-x6)af7e788feat(bolt): implement coverage tool (@A-x6)1c0a8a4feat(bolt): add coverage tool description (@A-x6)4a1f331feat(bolt): carry pinned context through compaction (@A-x6)67f050cfeat(bolt): add pin resolution module (@A-x6)5a3cd8ffeat(bolt): register port command (@A-x6)2e1a2fdfeat(bolt): register proptest command (@A-x6)0c90d54feat(bolt): register api command (@A-x6)655f6effeat(bolt): register stack command (@A-x6)7484eb7feat(bolt): compact preemptively at loop exit (@A-x6)9210c9bfeat(bolt): add preempt threshold check (@A-x6)1d2f0aafeat(bolt): register checkpoint command (@A-x6)fc0ed41feat(bolt): register checkpoint service in app runtime (@A-x6)b069171feat(bolt): add named checkpoint service (@A-x6)54a8365feat(bolt): register split command (@A-x6)45d4e09feat(bolt): register guard command (@A-x6)5e78351feat(bolt): register index command (@A-x6)1ffe61dfeat(bolt): register rebase command (@A-x6)2c9d7f9feat(bolt): register invariants command (@A-x6)8ecfa2afeat(bolt): register resolve command (@A-x6)3735758feat(bolt): register dead command (@A-x6)01b41d6feat(bolt): register bench command (@A-x6)b93c8f4feat(bolt): register dupes command (@A-x6)979f32ffeat(bolt): register mutate command (@A-x6)
Bugfixes
db581e4fix(opencode): order legacy message loop by time (anomalyco#40990) (@opencode-agent[bot])a54a693fix(opencode): use chronological message boundaries (anomalyco#40991) (@opencode-agent[bot])d468201fix(opencode): use file times for truncation cleanup (anomalyco#40987) (@opencode-agent[bot])9052b7ffix(core): harden webfetch, installer temp paths, and debug params parsing (@A-x6)b41244dfix(bolt): surface swallowed CLI errors and settle worker RPC failures (@A-x6)9d9d6a4fix(bolt): report diverging subgroups, rank by duplicated volume, validate options (@A-x6)69c76a4fix(bolt): scan literals before comments and prune skipped dirs in dupes (@A-x6)a01b1b9fix(bolt): validate bench options and report worktree cleanup failures (@A-x6)b7f9363fix(opencode): serialize orphaned compaction history (anomalyco#40800) (@opencode-agent[bot])
TUI
Improvements
ddefcd6feat(bolt): add memory export and import commands (@A-x6)e6f89c0feat(bolt): enforce cost and token budgets in run (@A-x6)703c5f2feat(bolt): add run budget accounting (@A-x6)d7c1c4efeat(bolt): register debug context command (@A-x6)3b7c57bfeat(bolt): add debug context command (@A-x6)3c159d9feat(bolt): run deterministic pass in learn (@A-x6)1d285f1feat(bolt): show provenance in memory why (@A-x6)19bc88bfeat(bolt): add blast command (@A-x6)6d88dd8feat(bolt): add undo command (@A-x6)e281591feat(bolt): add memory team command (@A-x6)f34ef3bfeat(bolt): add memory diff command (@A-x6)f7b5ce2feat(bolt): add drift command (@A-x6)e49ca93feat(bolt): add migrate command with upgrade playbooks (@A-x6)09b9b74feat(bolt): add dry-run flag to run command (@A-x6)c8ec1d1feat(bolt): surface commit signature summary in branch review (@A-x6)b38af49feat(bolt): surface culprit signature status in bisect (@A-x6)2959e1efeat(bolt): add signature verification helpers (@A-x6)9447364feat(bolt): add asserts command (@A-x6)1e9c909feat(bolt): add memory search command (@A-x6)d59bf35feat(bolt): add deps command reporting dependency health (@A-x6)1cc0ea6feat(bolt): add submodules command for drift reporting and sync (@A-x6)1b6ceeefeat(bolt): add tighten command (@A-x6)92631c4feat(bolt): add worktree command for managing agent worktrees (@A-x6)de16e81feat(bolt): add owners command mapping directory ownership (@A-x6)edcce76feat(bolt): add session branch command (@A-x6)44cf0acfeat(bolt): add why command for git archaeology (@A-x6)57c45d7feat(bolt): add analyze command (@A-x6)a5a4d56feat(bolt): add hotspots command ranking churn and complexity (@A-x6)4c5a241feat(bolt): add commitlint command that learns repo conventions (@A-x6)f7e5e96feat(bolt): add packages command with build order (@A-x6)75574affeat(bolt): add drift command checking module contracts (@A-x6)155e8b1feat(bolt): add memory conflicts command (@A-x6)1a25c80feat(bolt): add proptest command (@A-x6)2c0ab11feat(bolt): add api command diffing exported surface (@A-x6)af4e0c5feat(bolt): add stack command for stacked pull requests (@A-x6)38cf421feat(bolt): add checkpoint cli command (@A-x6)b81236bfeat(bolt): add split command for logical commit grouping (@A-x6)b3e3f8dfeat(bolt): add guard command (@A-x6)8d7e719feat(bolt): add index command with incremental vector index (@A-x6)5dfeb22feat(bolt): add rebase command with agent-planned decisions (@A-x6)e7a203bfeat(bolt): add invariants command (@A-x6)05bf282feat(bolt): add resolve command for semantic conflict resolution (@A-x6)97ee9a3feat(bolt): add dead command ranking unused exports (@A-x6)3e8bdc2feat(bolt): add bench command (@A-x6)184f042feat(bolt): add dupes command finding near-identical code blocks (@A-x6)d4ed658feat(bolt): add mutate command (@A-x6)
Bugfixes
ca88379fix(memory): address deepsource findings on provenance code (@A-x6)e087ad9feat(bolt): add port command for cherry-picking fixes across branches (@A-x6)e3302b8fix(bolt): avoid regex literal starting with /= (@A-x6)85b5413fix(bolt): add u flag to conflict marker regex (@A-x6)4c45943fix(bolt): validate mutate flags and kill test process tree on timeout (@A-x6)
Desktop
Bugfixes
28bcc0efix(app): sort sessions by persisted time (anomalyco#41000) (@opencode-agent[bot])12bf6bdfix(app): improve gateway settings translations6225b78fix(app): refine gateway translations per review989cc3bfix(app): polish gateway translations for review feedback31c5c4efix(app): keep locale names native (anomalyco#40985) (@opencode-agent[bot])1496fbafix(app): translate gateway settings keys8d65dbdfix(app): complete translation coverage (anomalyco#40981) (@opencode-agent[bot])f6c5afefix(desktop): disable packaged console logging (anomalyco#40794) (@opencode-agent[bot])
v1.20.7
Changes since v1.20.6
Core
Improvements
0da6a23feat(bolt): register figma commandfd3059afeat(bolt): register refactor command533d4e4feat(bolt): register map commandbdfb755feat(bolt): register memory commandc782472feat(bolt): register learn commanda3ab15afeat(bolt): register bisect command in the cli5020b36feat(bolt): register flaky command in the clid3ec395feat(bolt): register cron command in the cli5bb443cfeat(bolt): register jobs command in the cli4f1d8a9feat(bolt): register watch command in the clif929f8frefactor(opencode): simplify retry error matching (anomalyco#40694) (@rekram1-node)
Bugfixes
8892a4cfix(opencode): keep sessions fast after repeated compactions24470e5fix(desktop): embed version in server sidecar (anomalyco#40764) (@Hona)23bbc5cfix(server): allow blob attachments in web UI (anomalyco#40692) (@rexdotsh)709c195fix(opencode): preserve compatible stream errors (anomalyco#40718) (@rekram1-node)61aefc0fix(opencode): expand retryable error patterns (anomalyco#40707) (@rekram1-node)
TUI
580088dfeat(bolt): add figma command generating components from a design node6960717feat(bolt): add --confidence to refactorb060647feat(bolt): add --confidence to review961958efeat(bolt): add refactor command with test-verified loop692c9eefeat(bolt): add --html replay output to export command944cd35feat(bolt): add self-contained HTML session replay renderer1e8dd22feat(bolt): add --self-review to refactor33c56c7feat(bolt): export review instructionsc5fe610feat(bolt): add map command drawing a mermaid codebase map2bf6b5afeat(bolt): add memory why command78d0251refactor(bolt): clean up flaky command lint findings44c7b77feat(bolt): add learn command1fc6313feat(bolt): add bisect command for on-red-main automation6e21f63feat(bolt): add flaky command for flaky test detectionf8ea83cfeat(bolt): add cron command for scheduled agent choresfc30628feat(bolt): add run --background flag82052e3feat(bolt): add jobs command for background job management4c68894feat(bolt): add watch command that reruns tests on save
Desktop
327c84dfeat(bolt): add gateways section to settingsf1adabcfeat(app): export session as json from ui (anomalyco#40781) (@Hona)
Extensions
ef61f18refactor(vscode): address deepsource lint findings5e392eddocs(vscode): rewrite extension readmead9a972feat(vscode): rebrand extension to bolt and repair cli launch
What's Changed
- fix(ci): skip desktop updater feed when signing key is unavailable by @DevFlex-AI in #41
- feat(cli): autosave memory by digesting finished session turns by @DevFlex-AI in #43
- feat: enforce the /sandbox toggle with bwrap and sandbox-exec by @DevFlex-AI in #45
- feat: rebrand user-facing strings to Bolt across CLI, TUI, and app by @DevFlex-AI in #47
- fix(storybook): unbreak the storybook build check by @DevFlex-AI in #49
- feat(cli): import rules and MCP configs written for other coding agents by @DevFlex-AI in #39
- docs: restore quick-install command with corrected URL by @DevFlex-AI in #53
- fix(ci): retry bun install on transient network failures by @DevFlex-AI in #51
- feat(tui): roaring red fire border around the chatbox while working by @DevFlex-AI in #56
- docs: add a Done roadmap section and check off shipped items by @DevFlex-AI in #58
- docs: refocus the roadmap on AI features by @DevFlex-AI in #60
- fix(tui): reference wasm declaration from fire module by @DevFlex-AI in #61
- fix(app): prevent file tree tab clipping and open legacy picker at home by @DevFlex-AI in #63
- refactor: require symbol description by @deepsource-autofix[bot] in #66
- refactor: use RegExp.test instead of String.match for regex validations by @deepsource-autofix[bot] in #69
- chore: upstream fetch by @DevFlex-AI in #67
- feat: best-of-N runs and /yolo mode by @DevFlex-AI in #65
- feat(tui): /todos command to view the agent task list by @DevFlex-AI in #72
- feat(tui): /btw side questions without interrupting the task by @DevFlex-AI in #73
- fix(tui): calm the fire while the autocomplete popup is open by @DevFlex-AI in #75
- fix(tui): show /btw answers inline in the chat instead of a dialog by @DevFlex-AI in #77
- chore: merge upstream anomalyco/opencode dev by @DevFlex-AI in #79
- fix(tui): anchor the slash palette to the input, not above the fire by @DevFlex-AI in #81
- feat(tui): make /btw a sticky prompt mode instead of a question dialog by @DevFlex-AI in #85
- feat(cli): add bolt logs command with tail and follow by @DevFlex-AI in #90
- feat(core): rebrand the built-in config skill as bolt-config by @DevFlex-AI in #92
- feat(core): support .boltignore for agent file search by @DevFlex-AI in #87
- fix(core): scope .boltignore to the repository root for nested searches by @DevFlex-AI in #94
- feat(tui): add /plan to toggle plan mode by @DevFlex-AI in #96
- feat(tui): crush-inspired gradient UI, session header, and prompt styling by @DevFlex-AI in #89
- chore: sync upstream dev by @DevFlex-AI in #82
- feat(memory): per-session memory controls by @DevFlex-AI in #101
- feat(tui): push-to-talk voice input by @DevFlex-AI in #102
- fix(tui): sidebar overlay dismissal, exact slash match, overlay z-index by @DevFlex-AI in #103
- feat(opencode): add eval command for agent benchmark harness by @DevFlex-AI in #105
- fix(core): use ripgrep search backend when a .boltignore governs the repo by @DevFlex-AI in #107
- fix(ci): serialize publish runs per ref and stop release self-retrigger by @DevFlex-AI in #109
- fix(ci): add DeepSource config so TS modules are not analyzed as scripts by @DevFlex-AI in #111
- fix(release): compute versions from our own package and fix the release tag push by @DevFlex-AI in #113
- fix(release): generate real release notes instead of "Initial release" by @DevFlex-AI in #118
- [pull] dev from anomalyco:dev by @pull[bot] in #120
- fix(desktop): ad-hoc sign unsigned macOS builds to avoid damaged-app error by @DevFlex-AI in #122
- chore: patch vulnerable dependencies across workspace by @DevFlex-AI in #123
- fix(desktop): skip notarization for ad-hoc signed macOS builds by @DevFlex-AI in #127
- fix(release): exclude upstream commits from community contributors by @DevFlex-AI in #125
- feat(desktop): terminal installer for macOS without gatekeeper warning by @DevFlex-AI in #129
- docs: check off shipped roadmap items and refresh the desktop note by @DevFlex-AI in #131
- feat(cli): add bolt commit and bolt review commands by @DevFlex-AI in #133
- chore: sync upstream dev by @DevFlex-AI in #137
- [pull] dev from anomalyco:dev by @pull[bot] in #136
- fix(opencode): wire memory recall into the V1 session loop by @DevFlex-AI in #139
- [pull] dev from anomalyco:dev by @pull[bot] in #140
- docs: refresh roadmap with shipped memory work and tool expansion plans by @DevFlex-AI in #142
- feat(opencode): add multiedit tool for atomic batched file edits by @DevFlex-AI in #144
- fix(ui): update OpenRouter logo (anomalyco#40313) by @DevFlex-AI in #149
- Fetch upstream by @DevFlex-AI in #150
- .github/workflows: Migrate workflows to Blacksmith runners by @blacksmith-sh[bot] in #151
- fix(tui): restore spinner and open-state dimming in reasoning header by @DevFlex-AI in https://github.com/bolt-bu...
v1.20.6
Changes since v1.20.5
Core
Improvements
cb88db6tweak(opencode): make xAI OAuth device-only to reduce confusion w/ headless environments (anomalyco#40537) (@rekram1-node)
Bugfixes
9f38562fix(opencode): include cache writes in ACP usage (anomalyco#40450) (@opencode-agent[bot])
v1.20.5
Changes since v1.20.4
Core
Bugfixes
7d0d172fix(session): keep summarized history when compaction processing errorsbfbfcf0fix(session): correct compaction ordering, plan-switch reminder, and logs tail59b1d38fix(server): harden serve auth and UI proxy
TUI
Improvements
0793a06perf(cli): lazy-load heavy command imports and index session lookups
Bugfixes
0f14ae7fix(server): pin unauthenticated binds and evaluate both auth compares
v1.20.4
Changes since v1.20.3
Core
Improvements
1c5fa8cfeat(cli): publish bolt-cli to a homebrew tap3fa38a0feat(cli): add bolt arena command17f5a65feat(opencode): add test_run tool with structured failure parsing579b908feat(opencode): add background process tools
Bugfixes
0cf54ccfix(cli): keep homebrew tap token out of persisted git config9c31f90fix(cli): resolve brew tap target from releases and uninstall bolt-clif0afb67fix(server): log upstream 5xx bodies from proxied workspace requests (anomalyco#40135) (@jamesmurdza)703d09ffix(server): don't forward host directory to remote workspace (anomalyco#40136) (@jamesmurdza)44614c7fix(acp): drain updates before end turn (anomalyco#40422) (@nexxeln)87481f2fix: gpt-5.5+ in combination with azure fails with reasoningEffort (anomalyco#40265) (@frederiknsgo)
TUI
Bugfixes
f0b7a4afix(cli): harden arena boot failures, cleanup reporting, and judge prompt53da73dfix(cli): make arena handler returns consistent7e94ddafix(github): include pull request identity in context (anomalyco#40363) (@opencode-agent[bot])
Desktop
Improvements
c387fe1feat(app): add debug layout direction toggle (anomalyco#40393) (@Hona)e857350feat(i18n): localize hardcoded application copy (anomalyco#40377) (@opencode-agent[bot])6c32991feat(app): add minimal RTL support (anomalyco#40372) (@opencode-agent[bot])0c380f3feat(app): support locale plural rules (anomalyco#40370) (@opencode-agent[bot])0efa33cfeat(desktop): expand and audit locale translations (anomalyco#40362) (@opencode-agent[bot])
Bugfixes
060b293fix(app): restore Bolt branding in merged i18n copyde1bd36fix(app): correct RTL layout interactions (anomalyco#40410) (@Hona)8721a27fix(app): complete shared RTL primitives (anomalyco#40388) (@opencode-agent[bot])c75e3b5fix(app): supply fallback session titles (anomalyco#40385) (@Brendonovich)638788ffix(app): move markdown parsing to worker (anomalyco#40356) (@Hona)
Community Contributors Input
Thank you to 1 community contributor:
- @blacksmith-sh[bot]:
- Migrate workflows to Blacksmith
v1.20.3
Changes since v1.20.2
Core
Improvements
7ceda85feat(opencode): add multiedit tool for atomic batched file edits6a88e64docs: move shipped memory work to Done and add tool expansion roadmapd5e038drefactor(cli): use template literals in diff truncation3199094feat(cli): add bolt commit and bolt review commands8db98fedocs: check off shipped roadmap items and refresh the desktop noteb6d8fb9docs(opencode): update README and package.json
Bugfixes
b978a67fix(opencode): share the edit file lock with multieditab9a1fdfix(opencode): wire memory recall into the V1 session loop2d956dafix(app): add optional chaining to server responses and validate agent in shell
TUI
Bugfixes
f849e8ffix(cli): check git diff exit code in bolt commit
Desktop
Bugfixes
6ff0adeperf(app): fix composer lag via buffered blob draft storage (anomalyco#40207) (@Hona)3016830fix(app): search every known project in the open project dialog (anomalyco#40202) (@NumerousJLs)9f9fbf8fix(app): clear stale timeline errors (anomalyco#39465) (@Brendonovich)d4b85f8fix(app): skip legacy config reads for v2 (anomalyco#40211) (@resetsix)
v1.20.2
Changes since v1.20.1
Desktop
Improvements
a1fdd28refactor(desktop): use electron-builder native ad-hoc identity instead of codesign hook
Bugfixes
21e5ca0fix(desktop): fail clearly when ad-hoc signing runs on a non-macOS hosta5b3196fix(desktop): ad-hoc sign unsigned macOS builds to avoid damaged-app error
SDK
Bugfixes
4534e3bfix(sdk): accept fixed SseFn signature from @hey-api/openapi-ts 0.99
v1.20.1
Changes since v1.20.0
Desktop
fc4508fUpdate desktop app icons across environments