✨ Features
- Ask AI Discord bot #6842
- WebSocket transport for goose-acp #6895
- Streamable HTTP transport for ACP + goose-acp usage #6741
- Laminar for Observability #6514
- Platform extension migrator + code mode rename #6611
- CLI flag to skip loading profile extensions #6780
- Thinking status hook #6815
- Hourly skill fetching #6814
🐛 Bug Fixes
- Apps now work in built copies of goose #6901
- Handle thoughtSignature differently for Gemini 2.5 vs 3 #6890
- Preserve working directory when creating new chat #6789
- Case-insensitive matching for builtin extension names #6825
- Correct tool support detection in Tetrate provider model fetching #6808
- Session manager fixes #6809
- Handle quoted paths with spaces in extension commands #6430
- Hardcoded J for newline key in missed locations #6853
- UI settings prompt injection update #6830
- Release build fix #6887
🔧 Improvements
- Extract ProviderDef trait and OpenAiCompatibleProvider #6832
- Remove dependency on goose-mcp from goose crate #6637
- Sync desktop_prompt with UI #6898
- Rejig dictation #6844
- Clean up client side code for creating schedule #6805
- Upgrade React and Electron to latest #6845
- Move persisting extension to session outside of route #6685
- ACP: load configured extensions and refactor tests #6803
- Swap canonical model from openrouter to models.dev #6625
- Centralize audience filtering before providers receive messages #6728
- Don't output compaction in term mode #6799
- Clean up build canonical warnings #6880
- Remove autogenerated .gooseignore files from repo #6824
- GitHub repo configurable for auto-updater and publisher #6828