This release brings TUI animation infrastructure improvements, several bug fixes for session isolation, credential security, and model discovery, plus a new desktop token staleness logging feature.
What's New
- Adds a program-scoped animation runtime to the TUI, centralizing spinners, durations, and transitions for more consistent and robust animations
- Adds token staleness logging when Docker Desktop refresh recovery fails, promoting failure paths to Warn/Info level for better observability
Improvements
- Bounds progressive Markdown rendering in the TUI, enabling segmented output that avoids repeatedly re-processing completed blocks
- Adopts the program-scoped animation runtime across TUI animation consumers, migrating to elapsed-time updates and dirty-tick-driven root-view caching
- Compacts detailed sidebar metrics in the TUI to adapt to available width, using short forms (
Eff,Ctx,Cost) at constrained widths and restoring full labels and gauges when space allows
Bug Fixes
- Fixes concurrent
LoadWithConfigcalls from sharing a working directory, preventing sessions from observing each other's working directory under concurrent load - Fixes duplicated text in GitHub Copilot responses by deduplicating streamed content tracked by both item ID and
output_index - Unifies gateway model discovery between
docker agent modelsand the interactive/modelpicker so that a non-empty/v1/modelsresponse is the source of truth - Fixes safety modes (autonomous, legacy approval, YOLO state) not being preserved across session flows and
/newtransitions - Fixes credential leaks in remote tool transports (MCP and A2A) by restricting bearer tokens and custom headers to requests whose origin matches the transport's configured origin
Technical Changes
- Removes unused dead TUI code including an unused lean TUI transcript reset method, package-level animation registration shim, and user-theme existence helper
What's Changed
- chore: remove dead TUI code by @Sayt-0 in #3836
- docs: update CHANGELOG.md for v1.117.0 by @docker-read-write[bot] in #3838
- fix: prevent concurrent LoadWithConfig calls from sharing working dir by @dgageot in #3842
- TUI - Program-scoped animation runtime by @krissetto in #3843
- fix(openai): deduplicate Copilot response text by @Sayt-0 in #3846
- fix(models): unify gateway model discovery by @Sayt-0 in #3847
- fix: preserve safety modes across session flows by @Sayt-0 in #3848
- fix: prevent credential leaks in remote tool transports by @dgageot in #3850
- chore: update docker-agent-action to v2.0.3 by @docker-agent in #3852
- TUI - enable segmented markdown rendering by @krissetto in #3851
- chore: bump direct go dependencies by @dgageot in #3854
- Adopt program-scoped animation runtime by @krissetto in #3855
- fix(tui): compact detailed sidebar metrics by @Sayt-0 in #3858
- feat(desktop): log token staleness when refresh recovery fails by @trungutt in #3859
Full Changelog: v1.117.0...v1.118.0