✨ Features
-
Reconnect desktop ACP sessions after sleep and connection loss #10411
-
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
-
OllamaCloudProvider with dynamic model discovery and context limits #10264
-
Delete support for custom apps from Apps UI #10127
-
--editsession flag to edit conversation before forking #9799 -
iFlytek Spark and Astron MaaS providers #9837
-
Fireworks AI declarative provider #9990
-
OpenRouter request parameters support #9276
-
OVHcloud Qwen3.6-27B model (262K context) #10339
-
GPT-5.6 family support #10349
-
GLM-5.2 support #9967
-
French, German, Italian, Portuguese, Indonesian, Malay, Vietnamese, and Traditional Chinese desktop locales #10072
-
Provider bindings MVP to goose-sdk with Python wheel publishing #10208
-
TLS support for ACP serve #10088
-
Streamable HTTP support in deeplink generator #9954
🐛 Bug Fixes
-
Exclude MCP App tools from Code Mode callbacks #10290
-
Preserve reasoning_content for DeepSeek thinking mode on multi-turn tool calls #10366
-
Compaction disabled during approval #10089
-
Treat empty-string finish_reason as non-terminal in streaming #10258
-
Gemini OAuth onboarding failure #10363
-
Retry empty provider turns instead of stopping silently #10360
-
Guard llama.cpp backend init against SIGILL on x86_64 CPUs without FMA/AVX2 #10105
-
Sanitize responses function call names #10344
-
Pick session mode from the IDs the agent actually offers #10320
-
Desktop ACP shell PATH #10336
-
Dedupe duplicate signed thinking blocks to fix Anthropic 400 #10083
-
Resolve provider default model instead of leaking sentinel "current" #10305
-
Return effective context limit from /model-info #10165
-
Gate rcgen aws_lc_rs feature behind rustls-tls #10116
-
Recover malformed tool calls from GLM/Minimax models instead of rejecting them #10230
-
Restore cursor when configure exits #10222
-
Skip scheduled sessions for implicit resume #10178
-
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
-
Propagate agent cleanup errors on session delete #10112
-
Tolerate partial Responses output items #10108
-
Always use OpenAI-compatible "parameters" for Databricks tools #10101
-
Unescape shell-escaped image paths #10098
-
Send inference config (max_tokens, temperature) on Bedrock Converse #9889
-
Dedupe Nostr session deep link imports #9918
-
Don't retry deterministically-permanent 400s (thinking-block immutability) #10005
-
Use async reqwest client so OTLP export works in
goose servemode #10100 -
Reject non-object tool-call arguments instead of panicking #9832
-
Save /edit prompts to history #10011
-
Buffer thinking across stream chunks for DeepSeek/Kimi tool calls #9704
-
Surface actionable errors for truncated tool-call arguments #9946
-
Show optimistic toggle state when disabling an extension #9882
-
Resolve databricks_v2 pricing and surface cost in standard usage update #9925