Repository navigation
v0.2.0-rc.5
Pre-releaseUnsigned prerelease
This build is NOT signed and NOT notarized. Apple Developer enrollment is pending (CROW-1199). A browser download is Gatekeeper-quarantined.
Clear quarantine before first launch:
xattr -dr com.apple.quarantine crow-0.2.0-rc.5-macos-universal.tar.gz
xattr -dr com.apple.quarantine Crow-0.2.0-rc.5-macos.app.zip
# after extract / unzip:
xattr -dr com.apple.quarantine ~/.local/lib/crow-0.2.0-rc.5
xattr -dr com.apple.quarantine /Applications/Crow.appOr right-click Crow.app → Open (and confirm). Do not treat this cut as a production release.
Install
Download crow-0.2.0-rc.5-macos-universal.tar.gz (or the .zip) and its checksum file, verify the archive, extract it, and symlink the binaries into your PATH. Keep the extracted directory intact — crowd needs the .bundle resources next to the binaries.
shasum -a 256 -c crow-0.2.0-rc.5-macos-universal.tar.gz.sha256
mkdir -p ~/.local/lib ~/.local/bin
tar -xzf crow-0.2.0-rc.5-macos-universal.tar.gz -C ~/.local/lib
ln -sf ~/.local/lib/crow-0.2.0-rc.5/crow ~/.local/bin/crow
ln -sf ~/.local/lib/crow-0.2.0-rc.5/crowd ~/.local/bin/crowdUnzip Crow-0.2.0-rc.5-macos.app.zip and drag Crow.app to /Applications. Double-clicking it starts a bundled crowd (or reuses one already listening on :8787) and opens the web UI. Quitting the window only SIGTERMs a crowd this app spawned — an autostart / make daemon-run daemon is left up.
These binaries are unsigned. See the warning above.
Point crow autostart install --binary at the extracted CLI crowd (not the sidecar inside Crow.app):
crow autostart install --binary ~/.local/lib/crow-0.2.0-rc.5/crowdTo build from source instead: make daemon CONFIG=release && make install CONFIG=release (unsigned CLI) or make app CONFIG=release (unsigned Crow.app). Signing details: docs/macos-release-signing.md.
What's Changed
- Native macOS IDE with Corveil branding and GitHub integration by @dhilgaertner in #1
- Detect existing PRs in ride-workspace and use their branch by @dhilgaertner in #7
- Add 'Open in VS Code' button for session worktrees by @dhilgaertner in #11
- Add Makefile for build automation by @dgershman in #12
- Fix Ghostty terminal mouse position offset by @dhilgaertner in #8
- Integrate Claude Code hook event system for session activity tracking by @dhilgaertner in #10
- Add In Review button to update GitHub Project status by @dhilgaertner in #17
- Add Open Terminal button to session detail view by @dhilgaertner in #22
- Security audit and open-source readiness fixes by @dhilgaertner in #18
- Add notification system with configurable sounds and macOS notifications by @dhilgaertner in #20
- Show git commit SHA on the About page by @dhilgaertner in #27
- Rename project: rm-ai-ide/ride → Crow by @dhilgaertner in #9
- Add terminal tabs support for sessions by @dhilgaertner in #31
- Audit and update documentation for open source release by @dhilgaertner in #30
- Fix disconnected hooks for CLI-created sessions by @dhilgaertner in #37
- Fix merged PR status not detected on app restart by @dhilgaertner in #47
- Fix crash when reopening About or Settings window by @dhilgaertner in #46
- Stylize About page with Corveil branding by @dhilgaertner in #45
- Redesign tickets page with search, sort, and done state by @dhilgaertner in #36
- Aggregate and promote Claude Code allow lists across worktrees by @dhilgaertner in #39
- Add setting to hide subtitle lines in session sidebar rows by @dhilgaertner in #48
- Add GitHub Actions CI workflow by @dhilgaertner in #81
- CHECK by @dhilgaertner in #54
- Fix session not completing when linked issue is closed by @dhilgaertner in #83
- Fix session names to use repo-number-slug convention by @dhilgaertner in #82
- Configure branch protection rules for public repo by @dhilgaertner in #85
- Fix Ctrl+C and other control keys not working in terminal by @dhilgaertner in #78
- Add CHANGELOG.md and adopt semantic versioning by @dhilgaertner in #87
- Add code signing, notarization, and release workflow by @dhilgaertner in #86
- Add release automation workflow by @dhilgaertner in #89
- Quality pass: configuration & settings by @dhilgaertner in #88
- Quality pass: IPC communication layer by @dhilgaertner in #90
- Quality pass: GitHub/GitLab integration by @dhilgaertner in #92
- Quality pass: data persistence / storage by @dhilgaertner in #93
- Quality pass: UI views & components by @dhilgaertner in #91
- Quality pass: build system & infrastructure by @dhilgaertner in #95
- Quality pass: app lifecycle & window management by @dhilgaertner in #94
- Add git worktree to dangerouslyDisableSandbox guidance by @dhilgaertner in #111
- Remove vestigial workspace property from SessionWorktree by @dhilgaertner in #113
- Fix parallel call cascade in crow-workspace skill by @dhilgaertner in #114
- Terminal background initialization via offscreen window by @dhilgaertner in #105
- Fix delete-session CLI to perform full cleanup by @dhilgaertner in #112
- Quality pass: CLI (crow command) by @dhilgaertner in #97
- Quality pass: worktree management by @dhilgaertner in #96
- Quality pass: session management by @dhilgaertner in #100
- Quality pass: Claude Code integration by @dhilgaertner in #98
- Quality pass: terminal management by @dhilgaertner in #99
- Expand test coverage for core packages by @dhilgaertner in #116
- Fix MacWhisper accessibility support by @dgershman in #115
- CI: move macOS jobs to release pipeline to save runner minutes by @dhilgaertner in #118
- Add SECURITY.md with vulnerability reporting policy by @dhilgaertner in #80
- Fix crow send dropping text when surface isn't ready by @dhilgaertner in #121
- Add .claude/prompts/ to write allowlist by @dhilgaertner in #125
- Add missing gh commands to permission allowlist by @dhilgaertner in #126
- Add PR review monitoring and auto-session creation by @dhilgaertner in #38
- Add global terminals: standalone terminal tabs outside sessions by @dhilgaertner in #128
- Extract deterministic workspace steps into setup.sh by @dhilgaertner in #130
- Fix ticket number comma formatting by @dhilgaertner in #133
- Add contextual help headers to sidebar sections by @dhilgaertner in #134
- Resolve login shell PATH for .app bundle launches by @dhilgaertner in #129
- Add parallel batch workspace setup skill by @dhilgaertner in #135
- Fix PR review status not reflecting actual reviews by @dhilgaertner in #153
- Docs: refresh README, promote make build, fix GitHub project scope by @dhilgaertner in #155
- Replace dock icon with Corveil Brandmark by @dhilgaertner in #152
- Fix diagonal window resize and content-driven window growth by @dhilgaertner in #159
- Fix batch "Work on" sending malformed /crow-batch-workspace line by @dhilgaertner in #161
- Silence noisy console logs from Ghostty and IssueTracker by @dhilgaertner in #162
- Add auto-enable Claude Code remote control setting by @dhilgaertner in #163
- Honor remoteControlEnabled in workspace setup.sh by @dhilgaertner in #165
- Log gh stderr on IssueTracker shell failures by @dhilgaertner in #172
- Open-source readiness: license, CoC, CI, and doc cleanup by @dhilgaertner in #176
- Consolidate IssueTracker gh calls into one GraphQL query by @dhilgaertner in #175
- Make TicketCard issue and PR chips clickable by @dhilgaertner in #174
- Fix IssueTracker duplicate-key crash on PR status refresh by @dhilgaertner in #180
- CI: warm Ghostty cache on main so PRs share it by @dhilgaertner in #178
- Add session analytics via Claude Code OpenTelemetry by @dhilgaertner in #137
- Require positive evidence before auto-completing sessions (#181) by @dhilgaertner in #182
- Replace CorveilBrandmark PNG with SVG for crisper rendering by @dhilgaertner in #185
- Add 'Move to Active' button on completed sessions by @dhilgaertner in #188
- Launch Manager terminal in auto permission mode by default by @dhilgaertner in #189
- Reconcile PR links for sessions missing reactive detection by @dhilgaertner in #205
- Add ability to rename terminals by @dgershman in #206
- Ignore subagent hook events fired after a turn's Stop (#199) by @dhilgaertner in #208
- Filter projects from review board via exclude list by @dgershman in #207
- Add bulk delete for sessions in the sidebar by @dhilgaertner in #210
- Auto-suggest opening a PR upon session completion by @dhilgaertner in #213
- Auto-create workspace when assigned an issue with crow:auto label by @dhilgaertner in #211
- Fix GitLab fetch failing on GITLAB_HOST mismatch by @dhilgaertner in #215
- Auto-start review sessions for opted-in repos by @dhilgaertner in #209
- Add multi-select and batch Start Review to Review Board by @dhilgaertner in #212
- Recover from failed Ghostty surface creation (#217) by @dhilgaertner in #218
- Add filtering for tickets list by @dgershman in #220
- Auto-label PRs with crow:auto on open by @dgershman in #222
- Auto-respond to PR status changes (#201) by @dhilgaertner in #214
- Per-section select all and icon-only cancel button by @dgershman in #226
- Split automation toggles into dedicated Settings tab by @dhilgaertner in #228
- Add tmux backend behind CROW_TMUX_BACKEND feature flag (#198) by @dhilgaertner in #229
- Add quick action buttons to session detail header by @dhilgaertner in #231
- Fix glab fetch failures from non-repo cwd and nested-group slug truncation by @dhilgaertner in #233
- Silently skip hook-event when Crow app is not running by @dhilgaertner in #234
- Docs refresh: cover automation, review board, tmux backend, GitLab fixes by @dhilgaertner in #238
- Fix Settings workspace add/edit sheets silently no-op-ing by @dhilgaertner in #237
- Route stale-PR follow-up by provider so merged GitLab MRs poll correctly by @dhilgaertner in #242
- Harden terminal tab re-parenting against rapid switches by @dhilgaertner in #243
- Stop completed reviews from restarting on app relaunch by @dhilgaertner in #239
- Allow ignoring PRs with specific labels from review by @dgershman in #245
- Add Crow-Session attribution trailer to commits by @dhilgaertner in #249
- Run session deletion off the main actor (closes #250) by @dhilgaertner in #251
- Stop forging tmux .shellReady on first-prompt timeout by @dhilgaertner in #253
- Add canonical review attribution and snapshot lock by @dhilgaertner in #255
- tmux readiness diagnostics: wrapper breadcrumbs + on-timeout capture by @dhilgaertner in #258
- fix(tmux): enable extended-keys so Shift+Enter inserts newline in Claude Code by @dhilgaertner in #263
- Auto-cleanup completed sessions after configurable retention by @dgershman in #261
- fix(tmux): submit quick action prompts via Enter keycode after paste by @dhilgaertner in #267
- feat(ui): show labels when focused on a session/item by @dgershman in #269
- fix(reviews): serialize review session creation + broaden crash logging by @dhilgaertner in #270
- feat: per-workspace custom instructions appended to initial prompt by @dgershman in #271
- fix(tmux): add delay between paste and Enter for auto-respond prompts by @dgershman in #274
- Re-request reviews after addressing changes by @dgershman in #276
- feat(ui): render colored label pills from GitHub label colors by @dgershman in #278
- feat: use crow emoji in GitHub/GitLab posts by @dhilgaertner in #280
- feat: manual Refresh button and ⌘R shortcut by @dgershman in #283
- fix: harden terminal teardown races on tab close (#282) by @dgershman in #284
- ui: readable label-tag pills in dark mode (WCAG AA) by @dhilgaertner in #286
- review: require approve or request-changes verdict (no comment reviews) by @dgershman in #288
- Fix re-review not triggering reviewer Crow after /refine by @dgershman in #291
- fix: async per-terminal rehydration + review-kickoff yielding (#293) by @dgershman in #294
- crow-workspace: pre-fetch & embed ticket content (closes #295) by @dgershman in #297
- fix: run gh pr merge from $TMPDIR to dodge worktree lock by @dgershman in #298
- feat: crow:merge label auto-merges Crow-authored PRs (closes #299) by @dgershman in #300
- feat: make tmux the default terminal backend (closes #301) by @dgershman in #302
- fix: delete review-session clone on disk (closes #305) by @dhilgaertner in #308
- Auto-update branch when crow:merge PR is BEHIND base by @dgershman in #310
- fix: skip auto-respond automation on review sessions by @dhilgaertner in #319
- feat: opt-in toggle for crow:auto label automation by @dhilgaertner in #320
- fix: drop /plan prefix from initial workspace prompts by @dhilgaertner in #321
- Run Manager session on the tmux backend by @dgershman in #324
- feat: scheduled jobs — timed prompt sets scoped to a repo (closes #317) by @dgershman in #323
- Restart Manager session after its process exits by @dgershman in #325
- docs: cover Auto-launch workspaces opt-in (#312 follow-up) by @dhilgaertner in #322
- docs: document install / launch path + add make install targets by @dgershman in #328
- docs: surface Metal Toolchain + pin Zig 0.15 in Quick Start by @dgershman in #329
- fix: keep UI responsive when concurrent PR reviews arrive (#304) by @dgershman in #333
- feat: auto-rebase watcher for behind/conflicting PR branches (closes #318) by @dgershman in #332
- Remove legacy per-terminal Ghostty backend; require tmux (closes #303) by @dgershman in #334
- Support multiple Manager sessions by @dgershman in #326
- feat: cross-repo commit digest over a time period by @dgershman in #337
- feat: jobs — provider-sourced repo picker scoped to a workspace (closes #327) by @dgershman in #331
- fixes for tmux refactor by @dgershman in #336
- feat: jobs — manual "Run now", scrolling prompt editor, wider "Every" labels by @dgershman in #341
- feat: "Changes" on Manager sidebar row + user-selectable summary repos by @dgershman in #342
- refactor: simplify Changes-summary repo scope to a CSV of repo names by @dgershman in #343
- feat: Changes summary — org/repo scope, 24h/48h windows, clickable commits, LLM summarize by @dgershman in #346
- Rename non-primary Manager sessions from the UI by @dgershman in #350
- fix: Changes-summary board — dedupe PR clones, fetch remote main, scrollbar, dropdown (#348) by @dgershman in #351
- feat: add "Jobs" sidebar section above Active by @dgershman in #352
- Persist tmux backend server across Crow restarts (#330) by @dgershman in #353
- Default left sidebar to maximum width on fresh launch by @dgershman in #358
- feat: larger Changes-summary font + rename "LLM Summary" → "Summary" by @dgershman in #359
- Sync Remote Control name on session rename (#354) by @dgershman in #362
- feat: add /crow-create-ticket skill by @dgershman in #363
- Show commit author in Changes summary by @dgershman in #364
- Add refresh button to Tickets sidebar row by @dgershman in #365
- Remove LLM Summarize feature from Changes board by @dgershman in #369
- Persist & restore hook state so status colors survive relaunch (#367) by @dgershman in #368
- Attribute Crow-created tickets to Crow by @dgershman in #373
- Default adopted terminals to .done so resumed sessions show green (#367) by @dgershman in #370
- Preserve tmuxBinding across hydrate rebuild so Manager re-attaches (#374) by @dgershman in #376
- Add "Restart tmux Server" menu item to recycle the cockpit backend by @dgershman in #377
- Add a way to duplicate an existing job (#378) by @dgershman in #379
- Guide single clean gh/git ticket fetches to satisfy allowlist (#380) by @dgershman in #381
- Support wildcard patterns in auto-review repo selector by @dhilgaertner in #383
- Pack additional Manager sessions as wrapping chips by @dgershman in #386
- Nav cleanup: remove Changes, merge Manager onto Reviews/Allowlist row, rename "Allowlist" by @dgershman in #387
- Launch scheduled jobs in auto-permission mode by @dhilgaertner in #392
- Finalize nav: Reviews→Allowlist→Manager + Manager boxes one-per-row by @dgershman in #394
- Add ADR section under docs/ and backfill four key decisions by @dhilgaertner in #393
- Reject on Yellow findings in crow-review-pr skill by @dhilgaertner in #396
- setup.sh: stop hardcoding origin/main as base ref by @dhilgaertner in #398
- Surface attention indicator on manager sessions by @dgershman in #400
- Phases A + B + C: agent abstraction + OpenAI Codex MVP by @dhilgaertner in #197
- Fix UI beachball when a review session spins up by @dgershman in #405
- Fix duplicate review sessions on in-flight crow:auto kickoff by @dgershman in #407
- Fix managed terminal launch race (bare-zsh orphans) (#408) by @dhilgaertner in #409
- Extract TaskBackend + CodeBackend protocols (#410) by @dgershman in #411
- Add double-click rename on master session rows by @dgershman in #416
- Migrate UI provider guards to capability checks by @dgershman in #419
- Add Cursor as a third agent under the CodingAgent protocol (#417) by @dgershman in #418
- Add Session.codeProvider for cross-backend pairing by @dgershman in #420
- Add per-action agent selection (coding/review/job) by @dgershman in #422
- Move AutoRespond CLI name selection to CodeBackend (#412) by @dgershman in #423
- Wire Cursor agent for Jobs and surface launch failures by @dgershman in #425
- Add Bash Conventions section to scaffolded CLAUDE.md by @dgershman in #430
- Don't steal focus on crow:auto pickup (#429) by @dgershman in #432
- Show actual agent on terminal tab label and icon (CROW-427) by @dgershman in #434
- Enable Cursor as a review-capable agent by @dgershman in #435
- Add 4h and 8h retention presets to cleanup settings by @dgershman in #437
- Add per-Manager agent setting (CROW-433) by @dgershman in #438
- Surface missing review/job prompt files instead of silently launching empty by @dgershman in #441
- Generalize crow-workspace agent launch dispatch (CROW-440) by @dgershman in #442
- Attribute Crow footers to the session's agent kind by @dgershman in #444
- Fix Ghostty terminal selection clearing on mouse-up by @dgershman in #446
- Fix attribution footer shell-expansion leak (#447) by @dgershman in #448
- Reconcile stale bundled tmux conf on attach (CROW-450) by @dgershman in #451
- Restore tmux mouse, keep selection via copy-pipe-no-clear by @dgershman in #453
- Complete TaskBackend/CodeBackend migration (#454) by @dgershman in #455
- Re-arm auto-respond on new review activity + post-commit push (CROW-456) by @dgershman in #457
- Remove PR auto-label pipeline (crow:auto on PRs is a no-op) by @dhilgaertner in #462
- Add Jira as a real TaskBackend via acli (CROW-459) by @dhilgaertner in #460
- Fail gracefully on GitHub org SAML enforcement (recover accessible-org tickets) by @dhilgaertner in #465
- Fix Jira-tasked session PR linking + ticket metadata (#463) by @dhilgaertner in #464
- Wire OSC 8 hyperlink hover/click in libghostty embed by @dgershman in #470
- Per-workspace AI gateway config (ANTHROPIC_BASE_URL / ANTHROPIC_CUSTOM_HEADERS) by @dhilgaertner in #403
- Terminal UX cluster: click-to-deselect + right-click context menu (CROW-469) by @dgershman in #472
- Fix source-file exit-1 from bare unbind-key -a on prefix table by @dgershman in #474
- Add Reload Terminal Config menu item (CROW-475) by @dgershman in #476
- Emit transitions on first observation when state warrants attention (CROW-477) by @dgershman in #478
- Terminal UX cluster: remaining gaps from #471 audit by @dgershman in #479
- Per-workspace exclude-repos for code review requests by @dhilgaertner in #481
- Walk PATH (and honor defaults.binaries) for agent binary discovery by @dgershman in #485
- Add Corveil CLI path picker + auto-install /query-corveil on launch by @dgershman in #483
- Cancel tmux copy-mode before paste-buffer in TmuxBackend.sendText by @dgershman in #488
- Make defaults.binaries.* take precedence in spawned terminals (CROW-487) by @dgershman in #489
- Fix Codex hook config: rename to [features].hooks, drop async by @dgershman in #496
- Hot-trigger corveil skill install when picker value changes (CROW-490) by @dgershman in #497
- Fix Codex launch — deliver prompt + drop deprecated/async hook config (CROW-492) by @dgershman in #499
- Add Reinstall skill button to Settings → Corveil CLI (CROW-491) by @dgershman in #498
- Feed initial prompt to Codex on autolaunch (CROW-493) by @dgershman in #500
- Replace StubCorveilTaskBackend with real CorveilTaskBackend (CROW-495) by @dgershman in #501
- Add sidebar "Add label crow:merge to PR" context-menu action (CROW-502) by @dhilgaertner in #503
- Session card: indicator for auto-merge sessions (CROW-504) by @dgershman in #506
- Auto-refine: re-fire stalled rounds when agent is idle + head SHA unchanged by @dgershman in #507
- Stateless needsRefine: derive CHANGES_REQUESTED state from PR alone (CROW-508) by @dgershman in #509
- needsRefine: accept .done as idle state for refine dispatch by @dgershman in #511
- Add Edit menu so ⌘V/dictation work in Settings text fields by @dhilgaertner in #514
- Jobs: don't silently drop bare-org alwaysInclude specs (fix empty repo dropdown) by @dhilgaertner in #517
- Settings: tag/token list editor for repo/label fields by @dhilgaertner in #515
- setup.sh: install prepare-commit-msg hook for Crow-Session trailer by @dgershman in #519
- Fix PR-link reconcile wrong-PR attribution (#520) by @dhilgaertner in #521
- Replace acli with the official Atlassian Remote MCP Server for Jira (#522) by @dhilgaertner in #524
- Settings UI to map Crow ticket states ↔ Jira workflow statuses (#523) by @dhilgaertner in #525
- Session-row 'Mark issue done' context menu — close GitHub / transition Jira (#526) by @dhilgaertner in #527
- Swap Atlassian MCP for the working jira MCP (sooperset/mcp-atlassian) (#528) by @dhilgaertner in #531
- Audit + fix Jira status transitions (session start → mapped In Progress, all state-change sites) (#529) by @dhilgaertner in #530
- Offer crow:merge on Jira-ticket sessions' GitHub PRs — gate on code backend, not task provider (#532) by @dhilgaertner in #534
- Reflect Jira status + linked session on the ticket board (read-back; #533) by @dhilgaertner in #535
- Surface Jira tickets in their mapped Done status in the Done section (read-back; #536) by @dhilgaertner in #537
- Give Manager session cards the same activity indicators as worker cards (#539) by @dgershman in #540
- Manager cards: dots-only activity indicator, drop the throb/glow (#539) by @dgershman in #541
- Write Manager hook config on launch so its activity dot actually fires (#539) by @dgershman in #542
- setup.sh: generic per-session env injection (--session-env + sessionEnv). CROW-543 by @dhilgaertner in #544
- Add OpenCode as a supported coding agent (parity with Claude Code) by @dgershman in #546
- Keep OpenCode sessions alive in interactive TUI (#547) by @dgershman in #549
- Install crow CLI onto PATH via Scaffolder symlink by @dgershman in #553
- handling cases where cursor and agents can't find crow cli by @dgershman in #550
- Add opt-in auto-rebase + conflict-resolution setting (closes #551) by @dhilgaertner in #555
- Replace Ghostty with xterm.js terminal renderer for Intel Mac support (#548) by @dgershman in #556
- Fix Swift 6.2 strict-concurrency build failure in SocketServer by @dgershman in #564
- Disable automatic Touch Bar to fix first-window SIGSEGV (#563) by @dgershman in #565
- Auto-complete job sessions when the run finishes by @dgershman in #566
- Wire Manager process-exit banner via tmux exit monitor (#558) by @dgershman in #567
- Fix done-in-24h badge cap: use search issueCount instead of counting capped nodes (closes #562) by @dhilgaertner in #568
- Pin a session/job to protect it from auto-cleanup (#569) by @dgershman in #571
- Remove dead Ghostty references (tmux/xterm.js cleanup) by @dgershman in #574
- Fix done-in-24h badge Jira/provider cap: use search total, not capped node count (closes #572) by @dhilgaertner in #576
- Rename session "Pin" to "Lock" (#573) by @dgershman in #575
- Allow draft PRs in auto-rebase/conflict-resolution (drop shouldAttemptAutoRebase draft guard) (closes #577) by @dhilgaertner in #578
- Manager + button: pick coding agent before opening new session by @dgershman in #583
- Auto-complete: reconcile unwatched done job sessions on startup/tick by @dgershman in #580
- Auto-detect tmux server crash and reattach + claude --continue (closes #588) by @dhilgaertner in #597
- xterm.js: restore Shift+Enter → insert newline in Claude Code (closes #598) by @dhilgaertner in #599
- Stop wiping user settings.json on every launch by @GalaxysHub in #596
- Auto-trust worktree/clone folders so Claude Code's trust prompt doesn't block automated flows (closes #600) by @dhilgaertner in #601
- Launch code-review sessions in auto permission mode (reviewAutoPermissionMode toggle) (closes #602) by @dhilgaertner in #603
- Add crow job CLI: list/get/add/edit/enable/run/delete (closes #604) by @dhilgaertner in #624
- fix(tmux): lengthen paste→Enter settle for Cursor large prompts by @dgershman in #632
- fix(terminal): stop resize clobber by coalescing + deduping fits by @dgershman in #638
- ci: move Swift build/test off macOS onto Linux (closes #647) by @dgershman in #651
- fix(tmux): stop main-thread run-loop re-entrancy SIGSEGV in tab switching by @dgershman in #658
- fix(skill): inject matched workspace's customInstructions into worker prompt by @dgershman in #684
- RFC/design: AI-usage rubric — efficiency+outcome scoring (design doc + feasibility) (refs #648) by @dhilgaertner in #657
- Persist SessionAnalytics snapshot at session end (v1-blocking scorecard foundation) (closes #690) by @dhilgaertner in #704
- Handle OTLP delta-vs-cumulative temporality at ingest (stop token/cost double-count) (closes #689) by @dhilgaertner in #703
- Persist per-session compaction counter (PostCompact) on the analytics snapshot (closes #691) by @dhilgaertner in #705
- Persist PR→session attribution store (Crow-Session trailer) + merged-per-window counts (closes #693) by @dhilgaertner in #707
- Persist session wall-clock duration (display-only; activeTimeSeconds stays the penalty clock) (closes #692) by @dhilgaertner in #708
- Label-based ticket status fallback (crow:in-review) for issues not on a GitHub Project (closes #706) by @dhilgaertner in #709
- v1 read-only efficiency scorecard (A–F grade + sessions shipped, weekly) (closes #710) by @dhilgaertner in #712
- Rework / merge-rate metrics: revert detection + merged-vs-closed + post-merge-fix (closes #694) by @dhilgaertner in #713
- Alignment/KPI mapping: Jira priority + epic-parent, org-goal tagging, alignment weight (closes #696) by @dhilgaertner in #711
- docs: repoint stale radiusmethod/crow links to corveil/crow after org migration (closes #700) by @dhilgaertner in #716
- Count GitLab closed issues in done-ticket throughput (GitLab parity) (closes #697) by @dhilgaertner in #717
- Per-turn analytics reader over telemetry.db raw rows (enables context-trend detection) (closes #695) by @dhilgaertner in #718
- v2 combined multiplicative score (alignment-weighted throughput × efficiency) (closes #699) by @dhilgaertner in #719
- docs(adr): flip ADR 0008 status Proposed → Accepted (closes #726) by @dhilgaertner in #727
- Unify per-category icons & colors across pipeline headings and sidebar by @dgershman in #734
- Route job agent-kind config→state sync through one testable choke point (closes #733) by @dgershman in #735
- Revert #734 from main (merged to wrong base; relands in #738) by @dgershman in #740
- Revert #735 from main (merged to wrong base; relands in #739) by @dgershman in #741
- Backfill efficiency-scorecard snapshots from telemetry.db + fix empty-state discoverability (closes #745) by @dhilgaertner in #746
- Web UI parity: config fallback, remove-link, agent menu, settings modal, multi-select (CROW-593) by @dgershman in #594
- Isolate tests from the live store; trap default-path JSONStore under tests (#764) by @dgershman in #765
- Enforce a single writer for store.json via a store-scoped flock by @dgershman in #761
- feat(web): per-kind PR quick action — Re-review on review sessions (#757) by @dgershman in #763
- fix(crow-daemon): port reviewer-side re-review (shaAdvanced kickoff) (#756) by @dgershman in #762
- Reinstate the per-launch dev-root scaffold on the daemon startup path by @dhilgaertner in #770
- fix(web): terminal touch-scroll on iOS — own the gesture, scroll real history (#777) by @dhilgaertner in #786
- De-brand Crow from RadiusMethod → Corveil (bundle ID, copyright, docs, fixtures) by @dgershman in #778
- Run the OTLP telemetry receiver in the daemon (restores the per-session analytics strip) by @dhilgaertner in #785
- fix(web): batch "Start Working (N)" dispatches one /crow-batch-workspace by @dhilgaertner in #775
- Restore web notifications for automation events (#768) by @dhilgaertner in #780
- feat(autostart): start crowd at login (launchd login item) by @dhilgaertner in #779
- fix(web): restore the in-progress spinner on ticket refresh (CROW-771) by @dhilgaertner in #784
- Restore sidebar row PR status icons + crow:merge indicator (CROW-773) by @dhilgaertner in #788
- fix(web): restore the mouse-mode swallow in the app terminal (#776) by @dhilgaertner in #789
- fix(crowd): wire terminal-independent automations regardless of tmux, add durable automation log by @dhilgaertner in #787
- Restore the Scorecard's ungraded Manager-usage section on the web (#767) by @dhilgaertner in #781
- Color the sidebar issue pill purple when the issue is closed (#792) by @dhilgaertner in #793
- fix(web): default Tickets pipeline tab to Backlog, not All by @dgershman in #796
- In Progress status via crow:in-progress label fallback when an issue has no Project (#790) by @dhilgaertner in #794
- fix(web): spin an inner glyph in the Tickets refresh button, not the whole button by @dgershman in #798
- fix(web): split sidebar nav pills into two deterministic rows by @dgershman in #800
- fix(web): green PR status checkmarks (#802) by @dgershman in #803
- crow CLI: add edit-link; document remove-link by @dhilgaertner in #820
- Terminal scrollback: heal stale alt-screen / 5000-line windows by @dhilgaertner in #821
- Spike #822: terminal scroll model — decision + ADR by @dhilgaertner in #825
- Per-surface hybrid terminal scroll model (ADR-0013) by @dhilgaertner in #826
- Document coding-agent adapter architecture + harness capability matrix by @dgershman in #833
- docs: harness capability gap audit — re-verify #827 pins against current upstream (#828) by @dgershman in #832
- Fix agent-surface wheel scroll speed (1 notch/notch + deltaMode normalization) by @dhilgaertner in #836
- Fix stale crow:merge label view (icon + auto-merge) by @dhilgaertner in #839
- Fix OTLP /v1/logs decode (tolerant decoding + diagnostics + transport hardening) by @dhilgaertner in #840
- Relabel "Open Issue"/"Open PR" ticket links to "View Issue"/"View PR" by @dgershman in #845
- OpenCode adapter: Jira MCP, per-project plugins, version-aware auto-probe (#831) by @dgershman in #841
- Drop redundant trailing "label" from crow:merge PR status chip by @dgershman in #847
- Codex adapter: resume, native review, exec+bounded auto-approve, MCP mirror, project-trust by @dgershman in #843
- Cursor adapter: resume, auto-permission, MCP bridge, per-project hooks by @dgershman in #842
- Rename make crowd-dev → daemon-run; serve frozen web assets (#848) by @dgershman in #849
- Settings/Jobs: don't discard job editor on backdrop click by @dgershman in #852
- Gate agent_kind against the registry on every session-creation surface by @dgershman in #858
- Terminal wheel/touch scrolls the viewport at an agent prompt, not history (#850) by @dgershman in #853
- UI: SVG glyphs for bulk-delete/crow:merge, crisp running/review icons, honest RC tooltip by @dgershman in #864
- CrowAntigravity adapter (Tier-2): agy CLI, hooks-based state, resume (#860) by @dgershman in #862
- tmux/daemon-maintenance CLI verbs (parity) by @dhilgaertner in #867
- Allowlist & analytics CLI verbs (parity) by @dhilgaertner in #872
- Board/workflow CLI verbs (parity) by @dhilgaertner in #866
- Telemetry/Cleanup/Sidebar CLI (parity) by @dhilgaertner in #870
- Session-lifecycle CLI verbs (parity) by @dhilgaertner in #868
- Notifications CLI (parity) by @dhilgaertner in #873
- Gateways & web-password CLI (local-only, parity) by @dhilgaertner in #871
- Web Reviews board: multi-select + batch Start Review (N) by @dhilgaertner in #869
- Agent pickers: surface all known agents, grey out uninstalled ones by @dgershman in #880
- Defaults CLI: manage AppConfig.defaults (parity) by @dhilgaertner in #887
- Generate the CLI reference from ArgumentParser (CROW-808) by @dhilgaertner in #882
- Agents CLI: crow agents list|set (parity) by @dhilgaertner in #886
- Cmd+V no longer pastes twice in the terminal by @dhilgaertner in #881
- Automation CLI (parity): crow automation get|set by @dhilgaertner in #884
- Anti-drift CLI↔RPC↔config parity gate (CROW-807) by @dhilgaertner in #883
- Auto-rebase: fast-forward behind worktrees instead of hot-looping by @dhilgaertner in #893
- Stop blocking I/O on the MainActor from wedging the daemon's RPC surface by @dhilgaertner in #892
- Don't let SAML null nodes wipe out every GitHub GraphQL array parse by @dhilgaertner in #896
- Workspaces CLI (parity) by @dhilgaertner in #885
- ADR 0016: complete the parity contract (CROW-806) by @dhilgaertner in #895
- Repair hook blocks that outlived the worktree their crow binary came from by @dhilgaertner in #900
- Resolve the workspace AI gateway for review sessions by @dhilgaertner in #898
- crow:merge no longer lands in silence — surface the verdict, and direct-merge when GitHub's auto-merge is disabled by @dhilgaertner in #899
- Sidebar: stop duplicate review rows piling up (CROW-877) by @dgershman in #878
- Cursor: wire interactive --trust as a per-launch workspace-trust seed by @dgershman in #901
- CrowGrok adapter — Grok Build core loop (#859) by @dgershman in #861
- Boards empty-state: drop the stale 'desktop app required' hint (CROW-907) by @dgershman in #908
- hook-event: fire-and-forget the RPC so a busy daemon can't stall the hook (CROW-903) by @dgershman in #905
- Notification center: bell + unread badge with history and click-through (CROW-909) by @dgershman in #910
- Grok Build: identity-probe the resolved
grokbefore marking available (CROW-911) by @dgershman in #912 - Sidebar: move Select toggle beside Scorecard; compact the ticket box (CROW-913) by @dgershman in #914
- Antigravity: wire review dispatch via inline SKILL body (CROW-902) by @dgershman in #906
- Sidebar top: two-column layout — wide tickets box over nav pills, icon buttons in a far-right column (CROW-917) by @dgershman in #918
- Web terminal: send CSI-u for Shift+Enter so agents see a newline (CROW-916) by @dhilgaertner in #919
- Hooks: stop a main clone's block from firing in every worktree session (CROW-915) by @dhilgaertner in #920
- Sidebar polish: center the right icon stack + group the ticket counts (CROW-922) by @dgershman in #923
- Sidebar: center the "Tickets" title in the tickets box (CROW-924) by @dgershman in #925
- Delete dead code left over from ADR 0010 (retired macOS app) by @dgershman in #927
- CI: capture Swift test coverage and upload it as a build artifact (CROW-928) by @dgershman in #929
- Auto re-request review when a changes-requested PR has been fixed (CROW-921) by @dhilgaertner in #930
- Make mark-in-review move the provider board; delete EngineRouter's dead routes (CROW-876) by @dhilgaertner in #933
- Stop chained session-menu actions from timing out client-side (CROW-931) by @dhilgaertner in #932
- Re-sync shell scrollback from tmux history at top-of-buffer (CROW-934) by @dgershman in #935
- Give the web client real URLs: hash-based routing (CROW-936) by @dgershman in #937
- Fix release.yml to ship universal crow + crowd binaries by @dgershman in #940
- Detect when a newer Crow build is available (CROW-938) by @dgershman in #941
- fix(web): hide update banner when [hidden] is set by @dgershman in #943
- Build and run the crowd daemon natively on Linux (aarch64) by @dgershman in #948
- Close review rounds so a re-request starts round 2 (CROW-945) by @dhilgaertner in #949
- Measure auto-rebase behind-ness with git, not mergeStateStatus (CROW-944) by @dhilgaertner in #950
- Lower version update check interval to 1 hour (CROW-951) by @dgershman in #952
- Fix review launch quoting when SKILL body contains double quotes by @dgershman in #958
- Launch Cursor review sessions pre-trusted (CROW-954) by @dhilgaertner in #955
- Raise the WebSocket frame ceiling to 1 MiB (CROW-956) by @dhilgaertner in #962
- Make review verdict severity policy configurable per workspace (CROW-963) by @dhilgaertner in #967
- Add compare link to version update banner and CLI by @dgershman in https://github.com/corveil/crow/pull/965
- Design analysis: per-session read-only viewer links (CROW-947) by @dhilgaertner in https://github.com/corveil/crow/pull/966
- Strip SKILL frontmatter from inlined review prompts (CROW-968) by @dhilgaertner in https://github.com/corveil/crow/pull/970
- Reject quote-wrapped gateway headers, report gateway resolution (CROW-969) by @dhilgaertner in https://github.com/corveil/crow/pull/971
- Drop update instructions from version-update banner by @dgershman in https://github.com/corveil/crow/pull/973
- Add target + verdict guardrails to crow-review-pr before submit (CROW-974) by @dgershman in https://github.com/corveil/crow/pull/975
- Shift+Tab session switcher overlay (MRU, filters, live preview) by @dgershman in https://github.com/corveil/crow/pull/978
- Reviews board: split into In review / Not approved yet / Approved recently (24h) by @dgershman in https://github.com/corveil/crow/pull/984
- Add a ↻ Reload button to the session top bar (CROW-979) by @dgershman in https://github.com/corveil/crow/pull/981
- Default the session switcher to esc+tab, with esc as a prefix key (CROW-980) by @dgershman in https://github.com/corveil/crow/pull/985
- Meter Manager sessions like work sessions (CROW-983) by @dgershman in https://github.com/corveil/crow/pull/987
- Prefer cursor-agent and identity-probe the ambiguous agent token (CROW-989) by @dgershman in https://github.com/corveil/crow/pull/992
- Add grading-discipline rules to crow-review-pr verdict gate (CROW-986) by @dhilgaertner in https://github.com/corveil/crow/pull/991
- Reviews board: add Waiting on author, widen Recently completed (CROW-990) by @dgershman in https://github.com/corveil/crow/pull/994
- Drop the redundant try on /rpc's task group (CROW-993) by @dgershman in https://github.com/corveil/crow/pull/995
- Refit the web terminal to the visual viewport (CROW-988) by @dgershman in https://github.com/corveil/crow/pull/996
- Stop offering Start Review on Waiting-on-author rows (CROW-997) by @dgershman in https://github.com/corveil/crow/pull/998
- Move the session switcher to cmd+/ and stop hijacking Shift+Tab (CROW-1002) by @dgershman in https://github.com/corveil/crow/pull/1003
- Add a read-only MCP server with scoped tokens (CROW-1004) by @dgershman in https://github.com/corveil/crow/pull/1005
- Open the terminal context menu on long-press (CROW-1006) by @dgershman in https://github.com/corveil/crow/pull/1007
- Kill Cursor duplicate-frame scroll sediment without alt screen by @dhilgaertner in https://github.com/corveil/crow/pull/1009
- Flip Codex supportsRemoteControl — the old reason was wrong (CROW-1001) by @dgershman in https://github.com/corveil/crow/pull/1012
- Migrate OpenCode done-detection to session.status (CROW-1000) by @dgershman in https://github.com/corveil/crow/pull/1013
- Restore Cursor wheel scroll by keeping unified history on inline agents by @dhilgaertner in https://github.com/corveil/crow/pull/1014
- Emit Codex async hooks behind a version gate (CROW-999) by @dgershman in https://github.com/corveil/crow/pull/1015
- Restore Corveil CLI Verify and Reinstall buttons in Settings (CROW-1011) by @dgershman in https://github.com/corveil/crow/pull/1017
- Restore the visible scrollbar CROW-593 hid (CROW-1016) by @dgershman in https://github.com/corveil/crow/pull/1019
- Move the restored scrollbar off the sidebar and onto the xterm (CROW-1020) by @dgershman in https://github.com/corveil/crow/pull/1021
- Revalidate the daemon's own web assets with ETags (CROW-1024) by @dhilgaertner in https://github.com/corveil/crow/pull/1025
- Self-heal a reload that rebuilds a one-screen terminal buffer (CROW-1027) by @dhilgaertner in https://github.com/corveil/crow/pull/1028
- Auto-heal scrollback holes on inline agents and mid-buffer (CROW-1026) by @dhilgaertner in https://github.com/corveil/crow/pull/1029
- Add Muse Code as a CodingAgent harness by @dgershman in https://github.com/corveil/crow/pull/1034
- Detect Claude Code alt-buffer per-window, not per-kind (CROW-1023) by @dhilgaertner in https://github.com/corveil/crow/pull/1032
- Make the About build SHA open its commit on GitHub (CROW-1030) by @dgershman in https://github.com/corveil/crow/pull/1031
- Keep agent session switches off the full terminal reload by @dgershman in https://github.com/corveil/crow/pull/1036
- Launch Grok Auto with --always-approve so it matches Claude Code by @dgershman in https://github.com/corveil/crow/pull/1038
- Install all embedded corveil skills, not just query-corveil (CROW-1039) by @dhilgaertner in https://github.com/corveil/crow/pull/1040
- Swap crow-runner sample name in CrowEngine skill-install test fixtures (CROW-1041) by @dhilgaertner in https://github.com/corveil/crow/pull/1042
- Re-arm the pane's mouse mode on in-place session switch (CROW-1043) by @dhilgaertner in https://github.com/corveil/crow/pull/1044
- Gate visual-viewport refit to touch surfaces so desktop fills the pane (CROW-1045) by @dhilgaertner in https://github.com/corveil/crow/pull/1046
- Stop mid-session hydrate from stacking Cursor TUI chrome by @dgershman in https://github.com/corveil/crow/pull/1049
- Fix Claude Code wheel-up jumping to session start (CROW-1047) by @dgershman in https://github.com/corveil/crow/pull/1050
- Fix agent session switch cursor jump regression (CROW-1035) by @dgershman in https://github.com/corveil/crow/pull/1051
- Fix Grok Build copy/paste in the web terminal by @dgershman in https://github.com/corveil/crow/pull/1053
- Revert "Fix Grok Build copy/paste in the web terminal" by @dgershman in https://github.com/corveil/crow/pull/1054
- Launch the Cursor binary discovery verified, not a fresh PATH walk (CROW-1058) by @dgershman in https://github.com/corveil/crow/pull/1059
- Codex: per-worktree hooks with session UUID, retire notify bridge (CROW-1060) by @dgershman in https://github.com/corveil/crow/pull/1063
- Judge PRs against existing architecture, not only the diff (CROW-1062) by @dgershman in https://github.com/corveil/crow/pull/1064
- Multi-harness session-log collector + opt-in Corveil upload (CROW-1056) by @dhilgaertner in https://github.com/corveil/crow/pull/1061
- Per-workspace UI opt-in for session-log upload, reusing the gateway credential (CROW-1066) by @dhilgaertner in https://github.com/corveil/crow/pull/1067
- crow-review-pr skill: parse PR ref, detect Go module, keep test tail, add --no-post + verify-red step by @dgershman in https://github.com/corveil/crow/pull/1071
- Session-log upload: reuse the workspace AI gateway, drop the global logSync config (CROW-1070) by @dhilgaertner in https://github.com/corveil/crow/pull/1072
- Add a web app manifest so Chrome installs Crow with the Crow icon by @dgershman in https://github.com/corveil/crow/pull/1074
- Drop CorveilTaskBackend and the
corveiltask-provider (CROW-1068) by @dgershman in https://github.com/corveil/crow/pull/1077 - Session backfill: reconcile & upload historical on-disk transcripts (CROW-1075) by @dhilgaertner in https://github.com/corveil/crow/pull/1076
- Auto-name additional Manager sessions from the first ask (CROW-1079) by @dgershman in https://github.com/corveil/crow/pull/1080
- Realign the xterm cursor when the iOS keyboard opens (CROW-1078) by @dgershman in https://github.com/corveil/crow/pull/1081
- OpenCode: drop subagent child sessions from hook emission (CROW-1082) by @dgershman in https://github.com/corveil/crow/pull/1083
- Revert Grok Build web-terminal clipboard change by @dgershman in https://github.com/corveil/crow/pull/1055
- Verify Codex async PostToolUse timing on 0.148.0 stable (CROW-1065) by @dgershman in https://github.com/corveil/crow/pull/1084
- Add crow terminal get/set for wheel scroll settings (CROW-1085) by @dgershman in https://github.com/corveil/crow/pull/1086
- Fit the pane on in-place agent session switch (CROW-1091) by @dgershman in https://github.com/corveil/crow/pull/1093
- Wire Codex into the session-log collector + backfill (CROW-1089) by @dhilgaertner in https://github.com/corveil/crow/pull/1092
- Persist verified harness transcript locations as a docs reference (CROW-1090) by @dhilgaertner in https://github.com/corveil/crow/pull/1100
- Research Antigravity session logs: keep [] — transcript not cwd-attributable (CROW-1097) by @dhilgaertner in https://github.com/corveil/crow/pull/1101
- Research Muse Code session logs: durable but not cwd-attributable, keep [] (CROW-1099) by @dhilgaertner in https://github.com/corveil/crow/pull/1102
- Wire Grok Build into the session-log collector + backfill (CROW-1098) by @dhilgaertner in https://github.com/corveil/crow/pull/1103
- Wire Cursor into the session-log collector + backfill (CROW-1095) by @dhilgaertner in https://github.com/corveil/crow/pull/1105
- Wire OpenCode into the session-log collector + backfill (CROW-1096) by @dhilgaertner in https://github.com/corveil/crow/pull/1104
- Wire Antigravity session logs via a runtime conversation→worktree map (CROW-1107) by @dhilgaertner in https://github.com/corveil/crow/pull/1109
- Wire Muse Code into the session-log collector + backfill (CROW-1106) by @dhilgaertner in https://github.com/corveil/crow/pull/1108
- Split IssueTracker.swift into focused collaborators (CROW-1094) by @dgershman in https://github.com/corveil/crow/pull/1110
- docs: reconcile harness capability docs with shipped OpenCode/Codex/Cursor state by @dgershman in https://github.com/corveil/crow/pull/1112
- refactor: split SessionService.swift into focused collaborators (CROW-1113) by @dgershman in https://github.com/corveil/crow/pull/1114
- Populate crow_sessions PR sidecar for issue-linked sessions (CROW-1115) by @dhilgaertner in https://github.com/corveil/crow/pull/1116
- Add corveilConnection to AppConfig (secret-safe transport) (CROW-1118) by @dhilgaertner in https://github.com/corveil/crow/pull/1127
- Add local-only write path + CLI verbs for the Corveil connection (CROW-1120) by @dhilgaertner in https://github.com/corveil/crow/pull/1129
- Add Corveil OAuth client: DCR + PKCE + loopback callback + refresh (CROW-1119) by @dhilgaertner in https://github.com/corveil/crow/pull/1128
- Add Settings → Integrations tab with Corveil card (CROW-1122) by @dhilgaertner in https://github.com/corveil/crow/pull/1130
- Corveil token health/refresh + reconnect state (CROW-1125) by @dhilgaertner in https://github.com/corveil/crow/pull/1131
- Add Corveil org listing + one-key-per-org provisioning (CROW-1121) by @dhilgaertner in https://github.com/corveil/crow/pull/1132
- Add org-dropdown gateway editors (Manager + per-workspace) (CROW-1123) by @dhilgaertner in https://github.com/corveil/crow/pull/1133
- Split RPCHandlers.swift into focused handler groups by @dgershman in https://github.com/corveil/crow/pull/1135
- Wire logsync + gateway from the Corveil connection (CROW-1124) by @dhilgaertner in https://github.com/corveil/crow/pull/1136
- Add Corveil manual-gateway migration + docs/ADR (CROW-1126) by @dhilgaertner in https://github.com/corveil/crow/pull/1143
- Seed Grok .work sessions into the interactive TUI by @dgershman in https://github.com/corveil/crow/pull/1145
- Re-strip review-clone harness config after checkout by @dgershman in https://github.com/corveil/crow/pull/1146
- Add custom notification sound files by @dgershman in https://github.com/corveil/crow/pull/1148
- Sign and notarize macOS release binaries by @dgershman in https://github.com/corveil/crow/pull/1151
- Add Start Exploring board action and crow:explore auto-pickup by @dgershman in https://github.com/corveil/crow/pull/1152
- Add a session grid to watch up to 16 sessions by @dgershman in https://github.com/corveil/crow/pull/1154
- Split web client app.js into focused classic scripts by @dgershman in https://github.com/corveil/crow/pull/1156
- Split settings.js along Settings-tab boundaries by @dgershman in https://github.com/corveil/crow/pull/1161
- Escape returns to the session grid when opened from a cell by @dgershman in https://github.com/corveil/crow/pull/1164
- Skip same-size SIGWINCH on session switch and tab refocus by @dgershman in https://github.com/corveil/crow/pull/1165
- Label GitHub/GitLab ticket chips as Issue #N on bootstrap by @dgershman in https://github.com/corveil/crow/pull/1168
- Fail workspace setup when set-ticket does not land by @dgershman in https://github.com/corveil/crow/pull/1169
- Restore row.test.js to CI after CROW-802 SVG glyph drift by @dgershman in https://github.com/corveil/crow/pull/1172
- Default gateway binding + log-sync on for managed workspaces by @dhilgaertner in https://github.com/corveil/crow/pull/1173
- Split EngineRouter.swift into handler groups and drop shadowed copies by @dgershman in https://github.com/corveil/crow/pull/1178
- Snapshot list-sessions-live on MainActor and encode off it by @dgershman in https://github.com/corveil/crow/pull/1181
- Stop awaiting board polls on MainActor by @dgershman in https://github.com/corveil/crow/pull/1183
- Decline Cursor agent persist (ADR 0015 re-check) by @dgershman in https://github.com/corveil/crow/pull/1185
- Remove & deprecate the Allowlist feature (board, CLI, RPC, service) by @dhilgaertner in https://github.com/corveil/crow/pull/1184
- Fix Claude Code caret offset in Crow terminal by @dgershman in https://github.com/corveil/crow/pull/1188
- Wire Codex Interrupt hook as a sync cancel, not Stop by @dgershman in https://github.com/corveil/crow/pull/1186
- Claude auto can stall on extra-workdir reads (ADR 0015 re-check) by @dgershman in https://github.com/corveil/crow/pull/1187
- Bundle crowd as a Tauri sidecar in Crow.app by @dgershman in https://github.com/corveil/crow/pull/1191
- Fix universal Swift release build by lipo-ing per-arch products by @dgershman in https://github.com/corveil/crow/pull/1193
- Rename Tauri crate so the crow sidecar can bundle by @dgershman in https://github.com/corveil/crow/pull/1196
- Rotate launchd's crowd.log by reopening the capture fds by @dgershman in https://github.com/corveil/crow/pull/1198
- Add opt-in unsigned macOS release path when Apple secrets are absent by @dgershman in https://github.com/corveil/crow/pull/1200
New Contributors
- @GalaxysHub made their first contribution in #596
Full Changelog: https://github.com/corveil/crow/commits/v0.2.0-rc.5