|
4 | 4 |
|
5 | 5 | ## [0.12.1](https://github.com/promptfoo/crabcode/compare/v0.12.0...v0.12.1) (2026-03-17) |
6 | 6 |
|
7 | | - |
8 | 7 | ### Features |
9 | 8 |
|
10 | | -* add `crab compare` command for browser-based file diff ([ca26e5d](https://github.com/promptfoo/crabcode/commit/ca26e5da0834652a3c94084f443ca26fbfeedb3b)) |
11 | | -* add `crab md` command to render markdown in browser ([#40](https://github.com/promptfoo/crabcode/issues/40)) ([62798a1](https://github.com/promptfoo/crabcode/commit/62798a1e29e60fec2a48a30b831004706fc4042c)) |
12 | | -* add crab tax plugin ([#66](https://github.com/promptfoo/crabcode/issues/66)) ([da92a99](https://github.com/promptfoo/crabcode/commit/da92a99f9266624919f5d286f37e6937a2f1536a)) |
13 | | -* agent-agnostic codex support + bats test framework ([#52](https://github.com/promptfoo/crabcode/issues/52)) ([164a6be](https://github.com/promptfoo/crabcode/commit/164a6becd60a9f4ace59ac5001ac14005ff11f8b)) |
14 | | -* **agent:** add `crab agent sync` for cross-agent config migration ([#55](https://github.com/promptfoo/crabcode/issues/55)) ([7f9df47](https://github.com/promptfoo/crabcode/commit/7f9df47e7dc2293f66227541d7942c0341ef4149)) |
15 | | -* **compare:** add PDF file comparison support ([#63](https://github.com/promptfoo/crabcode/issues/63)) ([b27e82b](https://github.com/promptfoo/crabcode/commit/b27e82bc2865f283c809350666264fa3a545a91d)) |
16 | | -* **compare:** auto-install poppler for PDF support ([#64](https://github.com/promptfoo/crabcode/issues/64)) ([3046322](https://github.com/promptfoo/crabcode/commit/3046322b0efc6a9c9305be86507e0ff8524262ea)) |
17 | | -* **court,review:** allow starting fresh when session already exists ([412d7d3](https://github.com/promptfoo/crabcode/commit/412d7d3d2ac8012edea0d047fa38a75e63a72e0b)) |
18 | | -* **court:** enhance reviewer and judge prompts to catch silent data corruption ([#31](https://github.com/promptfoo/crabcode/issues/31)) ([f901632](https://github.com/promptfoo/crabcode/commit/f901632278897698ba32bf3ab910b105640ae7fc)) |
19 | | -* **crab-pf:** add --reasoning flag for GPT-5 reasoning_effort ([#34](https://github.com/promptfoo/crabcode/issues/34)) ([1cc404d](https://github.com/promptfoo/crabcode/commit/1cc404d861cee6435e97d13e8abd01095d17cb19)) |
20 | | -* **crab-pf:** default to gpt-5 with reasoning low ([#36](https://github.com/promptfoo/crabcode/issues/36)) ([916d46f](https://github.com/promptfoo/crabcode/commit/916d46f05c77a874470294e5be67fc13812bcad5)) |
21 | | -* **draw:** add `crab draw open <path>` to open .excalidraw files from any location ([b71744d](https://github.com/promptfoo/crabcode/commit/b71744d6d1d6d34c722d96999809f78350380577)) |
22 | | -* **draw:** add `crab draw rename <id> "New Title"` command ([7b07a6d](https://github.com/promptfoo/crabcode/commit/7b07a6d54a0e0c12afedf7ba4a7ba29c64e3b24d)) |
23 | | -* **draw:** add collaborative Excalidraw plugin with real-time collab ([b013517](https://github.com/promptfoo/crabcode/commit/b01351793749e9e8db5fe0ea4e136255dd430b2f)) |
24 | | -* **draw:** make sessions global across workspaces ([ddfd891](https://github.com/promptfoo/crabcode/commit/ddfd891c9981afd3881cf39115ad918021b19068)) |
25 | | -* **draw:** support positional title — `crab draw "My Title"` ([be4ecf3](https://github.com/promptfoo/crabcode/commit/be4ecf35f14e4214fa5ab112c6bcb89db34d96b1)) |
26 | | -* **env:** add crab env snapshot/restore for machine migration ([#57](https://github.com/promptfoo/crabcode/issues/57)) ([1c21b02](https://github.com/promptfoo/crabcode/commit/1c21b029cd8fac814851889166f87e0ce41643f1)) |
27 | | -* **md:** add inline editing with split view, diff highlights, and save ([f4461f3](https://github.com/promptfoo/crabcode/commit/f4461f398c49404e07ecb9b873eb3e1736e5cedf)) |
28 | | -* **promptfoo:** add `crab pf serve` Slack polling daemon ([#37](https://github.com/promptfoo/crabcode/issues/37)) ([1ee6707](https://github.com/promptfoo/crabcode/commit/1ee670787e1fd5f2c4a8bc5ca684618d7bf08d14)) |
29 | | -* **wip:** save and restore Claude sessions across WIP save/restore ([b303372](https://github.com/promptfoo/crabcode/commit/b303372deaa1995eabb678bb5c23052eb677d834)) |
30 | | - |
| 9 | +- add `crab compare` command for browser-based file diff ([ca26e5d](https://github.com/promptfoo/crabcode/commit/ca26e5da0834652a3c94084f443ca26fbfeedb3b)) |
| 10 | +- add `crab md` command to render markdown in browser ([#40](https://github.com/promptfoo/crabcode/issues/40)) ([62798a1](https://github.com/promptfoo/crabcode/commit/62798a1e29e60fec2a48a30b831004706fc4042c)) |
| 11 | +- add crab tax plugin ([#66](https://github.com/promptfoo/crabcode/issues/66)) ([da92a99](https://github.com/promptfoo/crabcode/commit/da92a99f9266624919f5d286f37e6937a2f1536a)) |
| 12 | +- agent-agnostic codex support + bats test framework ([#52](https://github.com/promptfoo/crabcode/issues/52)) ([164a6be](https://github.com/promptfoo/crabcode/commit/164a6becd60a9f4ace59ac5001ac14005ff11f8b)) |
| 13 | +- **agent:** add `crab agent sync` for cross-agent config migration ([#55](https://github.com/promptfoo/crabcode/issues/55)) ([7f9df47](https://github.com/promptfoo/crabcode/commit/7f9df47e7dc2293f66227541d7942c0341ef4149)) |
| 14 | +- **compare:** add PDF file comparison support ([#63](https://github.com/promptfoo/crabcode/issues/63)) ([b27e82b](https://github.com/promptfoo/crabcode/commit/b27e82bc2865f283c809350666264fa3a545a91d)) |
| 15 | +- **compare:** auto-install poppler for PDF support ([#64](https://github.com/promptfoo/crabcode/issues/64)) ([3046322](https://github.com/promptfoo/crabcode/commit/3046322b0efc6a9c9305be86507e0ff8524262ea)) |
| 16 | +- **court,review:** allow starting fresh when session already exists ([412d7d3](https://github.com/promptfoo/crabcode/commit/412d7d3d2ac8012edea0d047fa38a75e63a72e0b)) |
| 17 | +- **court:** enhance reviewer and judge prompts to catch silent data corruption ([#31](https://github.com/promptfoo/crabcode/issues/31)) ([f901632](https://github.com/promptfoo/crabcode/commit/f901632278897698ba32bf3ab910b105640ae7fc)) |
| 18 | +- **crab-pf:** add --reasoning flag for GPT-5 reasoning_effort ([#34](https://github.com/promptfoo/crabcode/issues/34)) ([1cc404d](https://github.com/promptfoo/crabcode/commit/1cc404d861cee6435e97d13e8abd01095d17cb19)) |
| 19 | +- **crab-pf:** default to gpt-5 with reasoning low ([#36](https://github.com/promptfoo/crabcode/issues/36)) ([916d46f](https://github.com/promptfoo/crabcode/commit/916d46f05c77a874470294e5be67fc13812bcad5)) |
| 20 | +- **draw:** add `crab draw open <path>` to open .excalidraw files from any location ([b71744d](https://github.com/promptfoo/crabcode/commit/b71744d6d1d6d34c722d96999809f78350380577)) |
| 21 | +- **draw:** add `crab draw rename <id> "New Title"` command ([7b07a6d](https://github.com/promptfoo/crabcode/commit/7b07a6d54a0e0c12afedf7ba4a7ba29c64e3b24d)) |
| 22 | +- **draw:** add collaborative Excalidraw plugin with real-time collab ([b013517](https://github.com/promptfoo/crabcode/commit/b01351793749e9e8db5fe0ea4e136255dd430b2f)) |
| 23 | +- **draw:** make sessions global across workspaces ([ddfd891](https://github.com/promptfoo/crabcode/commit/ddfd891c9981afd3881cf39115ad918021b19068)) |
| 24 | +- **draw:** support positional title — `crab draw "My Title"` ([be4ecf3](https://github.com/promptfoo/crabcode/commit/be4ecf35f14e4214fa5ab112c6bcb89db34d96b1)) |
| 25 | +- **env:** add crab env snapshot/restore for machine migration ([#57](https://github.com/promptfoo/crabcode/issues/57)) ([1c21b02](https://github.com/promptfoo/crabcode/commit/1c21b029cd8fac814851889166f87e0ce41643f1)) |
| 26 | +- **md:** add inline editing with split view, diff highlights, and save ([f4461f3](https://github.com/promptfoo/crabcode/commit/f4461f398c49404e07ecb9b873eb3e1736e5cedf)) |
| 27 | +- **promptfoo:** add `crab pf serve` Slack polling daemon ([#37](https://github.com/promptfoo/crabcode/issues/37)) ([1ee6707](https://github.com/promptfoo/crabcode/commit/1ee670787e1fd5f2c4a8bc5ca684618d7bf08d14)) |
| 28 | +- **wip:** save and restore Claude sessions across WIP save/restore ([b303372](https://github.com/promptfoo/crabcode/commit/b303372deaa1995eabb678bb5c23052eb677d834)) |
31 | 29 |
|
32 | 30 | ### Bug Fixes |
33 | 31 |
|
34 | | -* **crab-pf:** replace broken verify with smoke+session test, add session handling ([#32](https://github.com/promptfoo/crabcode/issues/32)) ([3f5ee99](https://github.com/promptfoo/crabcode/commit/3f5ee994e5b3e7dfbd345b1af040825dc0ce26fd)) |
35 | | -* **crab-pf:** require test prompts to match provider input format ([#33](https://github.com/promptfoo/crabcode/issues/33)) ([b5017cb](https://github.com/promptfoo/crabcode/commit/b5017cb093fb157f7658c8c9cde3a662901b3f98)) |
36 | | -* **deps:** update dependency open to v11 ([4f717cb](https://github.com/promptfoo/crabcode/commit/4f717cbb69ce4783e86241a4b1a9a83687265d5f)) |
37 | | -* **draw:** remove project-alias scoping from global draw storage ([ad0f422](https://github.com/promptfoo/crabcode/commit/ad0f422e481ff33fc511a41b00fab07d73f36965)) |
38 | | -* force checkout in restart/cleanup to handle dirty worktrees ([fc37b80](https://github.com/promptfoo/crabcode/commit/fc37b80c67c46f2d7e648dc951dd0f16ddb78405)) |
39 | | -* **install:** make PATH warning prominent after install ([#56](https://github.com/promptfoo/crabcode/issues/56)) ([22cd4e5](https://github.com/promptfoo/crabcode/commit/22cd4e518ee60f27c6b7a7da8eb2ffbc8e2a546a)) |
40 | | -* **md:** decode UTF-8 correctly when rendering markdown in browser ([7e6b8b2](https://github.com/promptfoo/crabcode/commit/7e6b8b22783874ac88268a65bd26c12746b83782)) |
41 | | -* **msg:** stop say from repeating in listen mode ([#23](https://github.com/promptfoo/crabcode/issues/23)) ([473c3f6](https://github.com/promptfoo/crabcode/commit/473c3f6d85971ed6d5f8e687d6666d08dab281c6)) |
42 | | -* **test:** fix all 14 pre-existing test failures, add test isolation ([#29](https://github.com/promptfoo/crabcode/issues/29)) ([57f2080](https://github.com/promptfoo/crabcode/commit/57f20808c6e58e7abddf2b50afc159b41f5e9e9c)) |
43 | | -* **update:** bypass GitHub raw CDN cache for self-update ([#22](https://github.com/promptfoo/crabcode/issues/22)) ([29f04fa](https://github.com/promptfoo/crabcode/commit/29f04fabd70312b71d4e4939a36793fb94b0440a)) |
44 | | -* **wip:** restore to current workspace, show project-level WIPs by default ([c1eb24f](https://github.com/promptfoo/crabcode/commit/c1eb24fb75e4a69db65c8549587cbb01203cd64d)) |
45 | | -* **wip:** use target workspace branch when restoring cross-workspace ([8734bf6](https://github.com/promptfoo/crabcode/commit/8734bf615cc1fc4a261129c86d77d46d8e7277d5)) |
46 | | -* **ws:** avoid shell init prompts eating command keystrokes after respawn-pane ([967eb91](https://github.com/promptfoo/crabcode/commit/967eb910c8c0ab2d42cb35cef1d8f4a2bdd81a8a)) |
| 32 | +- **crab-pf:** replace broken verify with smoke+session test, add session handling ([#32](https://github.com/promptfoo/crabcode/issues/32)) ([3f5ee99](https://github.com/promptfoo/crabcode/commit/3f5ee994e5b3e7dfbd345b1af040825dc0ce26fd)) |
| 33 | +- **crab-pf:** require test prompts to match provider input format ([#33](https://github.com/promptfoo/crabcode/issues/33)) ([b5017cb](https://github.com/promptfoo/crabcode/commit/b5017cb093fb157f7658c8c9cde3a662901b3f98)) |
| 34 | +- **deps:** update dependency open to v11 ([4f717cb](https://github.com/promptfoo/crabcode/commit/4f717cbb69ce4783e86241a4b1a9a83687265d5f)) |
| 35 | +- **draw:** remove project-alias scoping from global draw storage ([ad0f422](https://github.com/promptfoo/crabcode/commit/ad0f422e481ff33fc511a41b00fab07d73f36965)) |
| 36 | +- force checkout in restart/cleanup to handle dirty worktrees ([fc37b80](https://github.com/promptfoo/crabcode/commit/fc37b80c67c46f2d7e648dc951dd0f16ddb78405)) |
| 37 | +- **install:** make PATH warning prominent after install ([#56](https://github.com/promptfoo/crabcode/issues/56)) ([22cd4e5](https://github.com/promptfoo/crabcode/commit/22cd4e518ee60f27c6b7a7da8eb2ffbc8e2a546a)) |
| 38 | +- **md:** decode UTF-8 correctly when rendering markdown in browser ([7e6b8b2](https://github.com/promptfoo/crabcode/commit/7e6b8b22783874ac88268a65bd26c12746b83782)) |
| 39 | +- **msg:** stop say from repeating in listen mode ([#23](https://github.com/promptfoo/crabcode/issues/23)) ([473c3f6](https://github.com/promptfoo/crabcode/commit/473c3f6d85971ed6d5f8e687d6666d08dab281c6)) |
| 40 | +- **test:** fix all 14 pre-existing test failures, add test isolation ([#29](https://github.com/promptfoo/crabcode/issues/29)) ([57f2080](https://github.com/promptfoo/crabcode/commit/57f20808c6e58e7abddf2b50afc159b41f5e9e9c)) |
| 41 | +- **update:** bypass GitHub raw CDN cache for self-update ([#22](https://github.com/promptfoo/crabcode/issues/22)) ([29f04fa](https://github.com/promptfoo/crabcode/commit/29f04fabd70312b71d4e4939a36793fb94b0440a)) |
| 42 | +- **wip:** restore to current workspace, show project-level WIPs by default ([c1eb24f](https://github.com/promptfoo/crabcode/commit/c1eb24fb75e4a69db65c8549587cbb01203cd64d)) |
| 43 | +- **wip:** use target workspace branch when restoring cross-workspace ([8734bf6](https://github.com/promptfoo/crabcode/commit/8734bf615cc1fc4a261129c86d77d46d8e7277d5)) |
| 44 | +- **ws:** avoid shell init prompts eating command keystrokes after respawn-pane ([967eb91](https://github.com/promptfoo/crabcode/commit/967eb910c8c0ab2d42cb35cef1d8f4a2bdd81a8a)) |
47 | 45 |
|
48 | 46 | ## [0.12.0] - 2026-02-20 |
49 | 47 |
|
|
108 | 106 | ## [0.8.0] - 2026-02-09 |
109 | 107 |
|
110 | 108 | ### Added |
| 109 | + |
111 | 110 | - **Court Review system**: thorough multi-agent PR review with judge pattern |
112 | 111 | - `crab court <PR>` — spawns Judge (Claude) + Reviewer A (Claude teammate) + Reviewer B (Codex) |
113 | 112 | - Judge orchestrates reviewers, verifies findings by tracing actual code |
|
121 | 120 | - `crab review show <PR>` displays saved review output |
122 | 121 |
|
123 | 122 | ### Changed |
| 123 | + |
124 | 124 | - Simplified review system: removed `--with-codex` and `collab` modes in favor of `crab court` |
125 | 125 | - `crab review <PR>` now does quick single-agent review (fast, simple) |
126 | 126 | - `crab court <PR>` is the thorough option (judge + 2 reviewers) |
127 | 127 |
|
128 | 128 | ### Fixed |
| 129 | + |
129 | 130 | - WIP restore now properly opens workspace when run from outside (was checking wrong directory) |
130 | 131 | - Review sessions now run from session directory so Claude can write output files |
131 | 132 |
|
132 | 133 | ## [0.7.0] - 2026-02-08 |
133 | 134 |
|
134 | 135 | ### Added |
| 136 | + |
135 | 137 | - **Session management**: track and resume Claude conversations |
136 | 138 | - `crab session ls` — list sessions with inline summaries |
137 | 139 | - `crab session start "name"` — start new named session |
|
147 | 149 | - PR context auto-fetched via gh CLI |
148 | 150 |
|
149 | 151 | ### Changed |
| 152 | + |
150 | 153 | - `crab restart` now fully recreates window layout (fixes missing panes after close) |
151 | 154 | - Team mode always enabled (instructions in .claude/CLAUDE.md) |
152 | 155 | - Removed `--team` flag (no longer needed) |
153 | 156 |
|
154 | 157 | ## [0.6.0] - 2026-02-05 |
155 | 158 |
|
156 | 159 | ### Added |
| 160 | + |
157 | 161 | - **Agent Teams integration**: team mode always enabled in workspaces |
158 | 162 | - Team instructions auto-added to `.claude/CLAUDE.md` |
159 | 163 | - Claude spawns agent teammates when tasks warrant parallel work |
|
163 | 167 | ## [0.5.0] - 2026-02-04 |
164 | 168 |
|
165 | 169 | ### Added |
| 170 | + |
166 | 171 | - **Multi-project support**: manage multiple repos from a single crabcode install |
167 | 172 | - `crab @alias <cmd>` — run any command against a specific project |
168 | 173 | - `crab projects` — list all registered projects with tmux status |
|
174 | 179 | - Project context shown in `config`, `doctor`, `status`, and `help` output |
175 | 180 |
|
176 | 181 | ### Changed |
| 182 | + |
177 | 183 | - Config structure: project configs now live in `~/.crabcode/projects/<alias>.yaml` |
178 | 184 | - Global config (`~/.crabcode/config.yaml`) now only stores `default_project` |
179 | 185 | - Templates use `ALIAS_PLACEHOLDER` for `session_name` (was hardcoded `crab`) |
180 | 186 | - Tmux session names derived from project alias (e.g., `pf`, `cb`) instead of generic `crab` |
181 | 187 | - `apply_template()` accepts a 4th `alias` parameter |
182 | 188 |
|
183 | 189 | ### Fixed |
| 190 | + |
184 | 191 | - `crab restart` from a workspace dir now correctly detects the owning project |
185 | 192 | - Legacy config migration no longer clobbers global config on subsequent `crab init` |
186 | 193 |
|
|
214 | 221 | ## [0.3.0] - 2026-01-15 |
215 | 222 |
|
216 | 223 | ### Added |
| 224 | + |
217 | 225 | - Workspace handoff (`crab handoff`, `crab receive`) |
218 | 226 | - Time travel / snapshots (`crab rewind`, `crab snapshot`) |
219 | 227 | - Live pairing sessions (`crab pair`, `crab join`, `crab spectate`) |
|
225 | 233 | ## [0.2.0] - 2026-01-10 |
226 | 234 |
|
227 | 235 | ### Added |
| 236 | + |
228 | 237 | - WIP save/restore system with global index |
229 | 238 | - Port spacing and env_sync with refs |
230 | 239 | - MCP server sync from main repo |
|
235 | 244 | ## [0.1.0] - 2026-01-05 |
236 | 245 |
|
237 | 246 | ### Added |
| 247 | + |
238 | 248 | - Initial release |
239 | 249 | - Tmux-based workspace management with git worktrees |
240 | 250 | - Configurable layouts with named panes |
|
0 commit comments