✨ Features
- OllamaCloudProvider with dynamic model discovery and context limits #10264
- Per-message usage stats UI (tokens, cost, TTFT, tok/s) #10210
- Per-message usage/cost tracking with derived session totals #10172
- Group chat sessions by project in nav panel #10212
- Show project names in directory switcher dropdown #10207
- Provider bindings MVP to goose-sdk with Python wheel publishing #10208
- AskAI bot hints for followups #10291
🐛 Bug Fixes
- Resolve provider default model instead of leaking sentinel "current" #10305
- Return effective context limit from /model-info #10165
- Recover malformed tool calls from GLM/Minimax models instead of rejecting them #10230
- Restore cursor when configure exits #10222
- Sync slash help with builtins #10173
- Treat unicode punctuation as image path terminators #10106
- Don't bleed provider-specific request_params into delegate() sessions #9906
- Purge empty phantom sessions on startup #9651
- Include structuredContent from MCP tool response #10128
- Gate rcgen aws_lc_rs feature behind rustls-tls #10116
🔧 Improvements
- Increase /mcp-app-guest body limit for larger single-file MCP apps #10324
- Relabel settings 'Session' tab to 'External Backend' #10318
- Switch local inference provider MLX backend to use the safemlx crate #10304
- Disable thinking preservation for Groq #10284
- Bound code-mode execution with timeout and cancellation #10214
- Skip scheduled sessions for implicit resume #10178
- Fail closed on unverifiable update provenance #10168
- Update Rust toolchain and raise recursion limit #10303
- Drop unsupported gpt-5.3-codex from chatgpt_codex provider #10271
- Move Google provider into goose-providers #10216
- Move Snowflake provider #10218
- Move Databricks providers into goose-providers crate #10162
- Move declarative definitions #10167