- Add fuzzy file search functionality (#3240)
- update styling of user messages (#3247)
- Add support for escape key to dismiss settings menu (#3225)
- fix: Refactor string truncation logic into reusable utility function to avoid panic (#2818) (#2819)
- fix: Prevent modal from closing on text select. (#3127)
- fix: Add back lazy_static (#3243)
- chore: remove unused dependencies (#3049)
- feat: Add close button (X) to toast notifications (#3197)
- Adds json schema validation to goose recipe validate cli (#3234)
- feat: Adds max_turns for the agent without user input (#3208)
- feat: GUI can use structured output present in recipes (#3218)
- Enable running sub-recipes from GitHub (#3207)
- Defend against invalid sessions (#3229)
- Clean up session file optionality for --no-session (#3230)
- Feat: Support Recipe Parameters in Goose desktop app (#3155)
- docs: update recipe example (#3222)
- Add native OAuth 2.0 authentication support to MCP client (#3213)
- build: Check in Cargo.lock changes (#3220)
- fix: fix desktop recipe url generation (#3209)
- feat: improve UX for saving recipes (#3214)
- fix: Pass Google AI API key in HTTP header, not query param (#3192)
- docs: add linter to CONTRIBUTING.md (#3168)
- feat: Structured output for recipes (#3188)
- Fix cost tracking accuracy and OpenRouter model pricing (#3189)
- docs: update cli install instructions for windows (#3205)
- Docs: Cost tracking on the desktop app (#3204)
- feat: Adding streamable-http transport support for backend, desktop and cli (#2942)
- fix: use the correct
contains
syntax on create-recipe-pr.yml (#3193) - Temporarily Remove GH Copilot Provider (#3199)
- docs: fix tab navigation (#3201)
- feat: use tiktoken-rs instead of tokenizers, single global tokenizer (#3115)
- add playwright-mcp server to extensions list (#3010)
- Add
/extension
path for extension installation (#3011) - feat(desktop): Prioritize suffix when truncating path in header (#3110)