Changes
🚀 Features
- feat(patch): add fuzzy search support with gRPC integration and range conversion @amitksingh1490 (#2228)
- feat(json-repair): add schema-based type coercion for tool arguments @amitksingh1490 (#2222)
- feat(html): add error styling for failed tool calls @amitksingh1490 (#2223)
- feat(cli): require explicit execute subcommand and add custom command filtering @laststylebender14 (#2212)
- feat(git): replace co-author trailers with committer metadata @laststylebender14 (#2221)
- feat(permissions): remove timeouts from permissions @laststylebender14 (#2220)
- feat(git): add co-authored-by trailers to commit messages @laststylebender14 (#2213)
- feat(compact): add MCP tool support to summary extraction and transformers @tusharmath (#2210)
- feat(zsh): add setup command to configure .zshrc integration @tusharmath (#2190)
- feat(permissions): enable permission checks only in restricted mode @laststylebender14 (#2199)
- feat(zsh): add conversation back navigation with :c - command @tusharmath (#2191)
- feat(provider): add OpenAI Responses API for Codex models @amitksingh1490 (#2187)
🐛 Bug Fixes
- feat(patch): add fuzzy search support with gRPC integration and range conversion @amitksingh1490 (#2228)
- fix(git): add git output logging to commit result @amitksingh1490 (#2225)
- fix(forge-provider): use environment variable for workspace server url @tusharmath (#2226)
- fix(zsh): remove unnecessary command ready log message @tusharmath (#2227)
- fix(ui): restore cursor visibility on ctrl+c @laststylebender14 (#2209)
- fix(git): remove duplicate co-author trailer addition in commit @laststylebender14 (#2218)
- perf(evals): add benchmark to verify patch usage over write with overwrite @amitksingh1490 (#2215)
- fix(json-repair): prevent index out of bounds in regex parser @amitksingh1490 (#2214)
- fix(templates): clarify markdown formatting instruction in agent template @amitksingh1490 (#2216)
- fix(responses-provider): avoid duplicate data in completion events @amitksingh1490 (#2208)
- fix(zsh): remove export from plugin and theme load variables @tusharmath (#2206)
- fix(zsh): prevent environment variable pollution by removing export from plugin and theme markers @tusharmath (#2205)
- fix(ui): prevent duplicate piped input when no explicit prompt provided @tusharmath (#2193)
🚀 Performance
- perf(evals): add benchmark to verify patch usage over write with overwrite @amitksingh1490 (#2215)
- perf(repo): remove async-openai client dependency and implement direct http calls @amitksingh1490 (#2201)
- perf(ci): add zsh rprompt performance regression test @tusharmath (#2202)
- perf(glm): improve patch tool description to prevent text matching errors @amitksingh1490 (#2186)
🧰 Maintenance
- chore(deps): bump actions/checkout from 5 to 6 in the actions group @dependabot[bot] (#2049)
- refactor(agents): rename search tool to fs_search in forge config @tusharmath (#2219)
- refactor: eliminate dead code warnings through targeted code cleanup and module consolidation @tusharmath (#2203)
- refactor(bedrock): replace panic with Result-based client initialization @tusharmath (#2195)
- refactor(tools): add consistent ordering to agent tools @tusharmath (#2183)
- chore(install): add cross-platform support for macos and windows @amitksingh1490 (#2189)
- chore(clippy): replace unused pattern with is_some() check @amitksingh1490 (#2188)
- refactor(provider): move provider client from services to repo layer @amitksingh1490 (#2175)