This release adds a new file toolset, a configurable startup banner toggle, and several bug fixes including a GitHub MCP restart loop prevention and improved Code Mode partial startup handling. It also includes rendering performance improvements for long streamed responses.
What's New
- Adds a
show_bannersetting to toggle the ASCII-art startup banner on or off, accessible via the Appearance tab in/settings - Adds a
filetoolset exposingread_file,write_file, andedit_filewith support forallow_list,deny_list, andpost_editconfiguration
Improvements
- Optimizes rendering of long streamed responses by caching more aggressively and avoiding full re-renders on each new chunk
- Allows
/new [dir]in the TUI to accept an optional working directory, resolving relative paths and validating directories before spawning a session - Reuses an explicit
--working-dirvalue when opening new sessions via/new, Ctrl+T, or new-tab buttons
Bug Fixes
- Fixes Code Mode partial startup: preserves successfully started toolsets, omits failed ones, and retries failures on later turns
- Fixes terminal tool fade cache invalidation
- Fixes compaction state persistence to be atomic, so compacted sessions restore correctly on reload
- Fixes GitHub remote MCP server entering an endless reconnect loop after rejecting
subscriptions/listen - Replaces removed
deepseek-chatmodel withdeepseek-v4-proas the default DeepSeek model
Technical Changes
- Upgrades to Go 1.27.0 and applies Go 1.27 modernizations
- Migrates to OpenTelemetry SDK 1.45
- Replaces
sort.Slicecalls withslices.SortFuncacross several packages - Upgrades testify to v1.12.1
- Refreshes embedded models.dev catalog snapshot
What's Changed
- feat(tui): add a show/hide banner setting by @rumpl in #4014
- docs: update CHANGELOG.md for v1.127.0 by @docker-read-write[bot] in #4013
- TUI - Optimize rendering of long streaming responses by @krissetto in #4037
- chore: bump direct Go dependencies by @aheritier in #4015
- docs: auto-update for merged PRs (2026-08-23) by @aheritier in #4038
- chore: upgrade to Go 1.27.0 and apply 1.27 modernizations by @aheritier in #4036
- chore: replace sort.Slice with slices.SortFunc by @aheritier in #4034
- fix(codemode): preserve tools after partial startup by @Sayt-0 in #4008
- fix(tui): reuse explicit working directory for new sessions by @Sayt-0 in #4042
- chore(test): upgrade testify to v1.12.1 by @Sayt-0 in #4043
- chore: migrate to OpenTelemetry SDK 1.45 by @Sayt-0 in #4045
- chore: refresh embedded models.dev snapshot by @github-actions[bot] in #4040
- docs: auto-update for merged PRs (2026-08-25) by @aheritier in #4056
- fix: replace removed deepseek-chat with deepseek-v4-pro by @aheritier in #4058
- docs: auto-update for merged PRs (2026-08-26) by @aheritier in #4059
- chore: update docker-agent-action to v2.0.5 by @docker-agent in #4057
- docs(telemetry): document semconv v1.43 schema URL compatibility by @Sayt-0 in #4051
- Fix terminal tool fade cache invalidation by @krissetto in #4063
- Persist compaction atomically by @krissetto in #4064
- fix(mcp): prevent GitHub restart loop by @Sayt-0 in #4069
- test(a2a): apply invocation context deltas in fake by @Sayt-0 in #4049
- fix(tui): allow overriding new session directory by @Sayt-0 in #4050
- feat: add file toolset by @rumpl in #4070
Full Changelog: v1.127.0...v1.128.0