# Changelog

## Baseline

- First survey — no prior run to compare against. CAI 44.

## Lenses

- Code Health 76
- Architecture 55
- Maturity 66
- Readiness 33
- Security 46

## Changes since last survey

- 300 commits — 168 feature/other, 132 fixes

## By area

- crates/goose — 115 commits
- ui/desktop — 47 commits
- .github/workflows — 31 commits
- (root) — 19 commits
- crates/goose-provider-types — 17 commits
- crates/goose-providers — 15 commits
- crates/goose-cli — 11 commits
- documentation/package-lock.json — 9 commits
- documentation/docs — 6 commits
- crates/goose-local-inference — 4 commits
- crates/goose-sdk — 3 commits
- documentation/blog — 3 commits
- documentation/static — 3 commits
- services/ask-ai-bot — 3 commits
- crates/goose-mcp — 2 commits
- documentation/src — 2 commits
- (repo) — 1 commit
- .claude/skills — 1 commit
- .github/ISSUE_TEMPLATE — 1 commit
- crates/goose-server — 1 commit

## Notable commits

- fix:  fix(cli): stop multiline paste auto-submitting line-by-line on Windows (#10326)
- fix: Fix Desktop ACP shell PATH (#10336)
- fix: Fix/compact disabled during approval (#10089)
- fix: Revert "feat(security): chunk command-classifier input with overlapping windows" (#10416) (#10870)
- fix: fix (desktop): preserve ACP tool call update fields (#10653)
- fix: fix implicit OAuth during model discovery (#10929)
- fix: fix overlong function names in provider requests (#10659)
- fix: fix(acp): allow custom model as default for non-local providers (#10438)
- fix: fix(acp): break self-referential $ref cycles before Code Mode schema (#10469)
- fix: fix(acp): confirm pending steer message on queuedSteer notification (#10532)
- fix: fix(acp): dispatch Code Mode callbacks on main runtime to prevent hangs (#10484)
- fix: fix(acp): forward Claude Code model picker selection to the adapter (#10675)
- fix: fix(acp): forward Pi model selection to the adapter (#10707)
- fix: fix(acp): forward image content chunks to client during live session (#10485)
- fix: fix(acp): pass session working_dir to on_call_tool (#10689)
- fix: fix(acp): pick session mode from the ids the agent actually offers (#10320)
- fix: fix(acp): prefix child stderr log target so it passes the default goose=info filter (#10901)
- fix: fix(acp): preserve content audience boundaries (#10493)
- fix: fix(acp): preserve one-time permission scope (#10450)
- fix: fix(acp): preserve read lines and reload tool output (#10662)
- …and 280 more
