New
v1.23.0
:sparkles: 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: 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
:wrench: 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