| Changelog |
* Thu Aug 20 2026 thepetk <thepetk@gmail.com> - 1.45.0-1
- Update to version 1.45.0
- Security fix: arbitrary command execution in goose CLI via `goose review` (GHSA-r5pp-p5r8-466r)
- /status slash command in CLI for session inspection
- /model slash command for session model switching, with tab completion and provider switching
- goose review local code review command
- tui command on goose-cli with diff viewer
- Hooks system for extensibility (PreToolUse denial, Stop hook context)
- Global hints loading from ~/.agents/AGENTS.md
- Structured summary output with template rendering for compaction
- Configurable GOOSE_DOCS_ROOT for air-gapped docs access
- Allow disabling built-in skills
- Option to disable automatic update downloads
- Track cache tokens and per-message usage/cost stats
- Unified thinking effort control across providers; Opus 5 adaptive thinking support
- Upgrade to rmcp 2.0
- New providers: Together AI, EmpirioLabs, OrcaRouter, NEAR AI Cloud, Perplexity, Alibaba (Qwen via DashScope), Databricks AI Gateway, Scaleway, Vercel AI Gateway, xAI SuperGrok, iFlytek Spark/Astron MaaS, Fireworks AI, OllamaCloudProvider, Sakana AI
- MLX support for local inference provider
- Nushell terminal and completion support
- Azure Entra ID bearer token auth via AZURE_OPENAI_AD_TOKEN
- Accept string values for GOOSE_CONTEXT_LIMIT
- Quarterly option for scheduler
- Worktree-aware directory switcher
- Restore dynamic model discovery and current Grok support
- Update DeepSeek model names to v4 API
- Gate rcgen aws_lc_rs feature behind rustls-tls
- Fail closed on unverifiable update provenance
- Bump nostr to 0.44.6 to clear RUSTSEC-2026-0216
- Numerous provider, ACP, local-inference, and session-handling bug fixes
* Thu Jun 25 2026 thepetk <thepetk@gmail.com> - 1.39.0-1
- Update to version 1.39.0
- /status slash command in CLI for session inspection
- ACP method for managing recipes and session extensions
- Typed request/response for add/get session extensions in ACP
- Load session using ACP
- Elicitation method for ACP with improvements
- Elicitation decline and cancel actions propagation
- Recipe handling in new_session
- Use ACP to manage global config and session extensions
- Change working directory using ACP
- ACP cancel race condition fix
- Load global hints from ~/.agents/AGENTS.md
- Azure Entra ID bearer token auth via AZURE_OPENAI_AD_TOKEN
- Track cache tokens for accurate cost reporting
- Quarterly option for scheduler
- Option to disable automatic update downloads
- Accept string values for GOOSE_CONTEXT_LIMIT
- EmpirioLabs as a declarative OpenAI-compatible provider
- OrcaRouter as a declarative OpenAI-compatible provider
- Together AI declarative provider
- Add option for overriding API URL for Moonshot provider
- MCP extensions support in open plugins
- Peek mode for async background tasks in summon
- Context, working_dir, and metadata parameters for summon delegate tasks
- Move OpenAI provider and API client into goose-providers crate
- Delete embeddings support (unused)
- Accept JSON-encoded string for autovisualiser data parameter
- Send User-Agent on URL image fetches in developer/read_image
- Allow unlisted models in search
- Do not pass temperature to ChatGPT Codex provider
- Sanitize extension environment maps
- Refresh provider when session working directory changes
- Use refreshed gcloud token after reauth (retry Vertex AI on 401/403)
- Start a turn when /goal or /grind is set
- Dedupe duplicate tool-call ids within a turn
- Resolve bundled extensions from discovery
- Custom OpenAI provider dropping port when URL scheme is omitted
- Clear rejected OAuth credentials after refresh
- Keep extended thinking within the Anthropic output cap
- Preserve custom API path in OpenAI base_url derivation
- Repair PATH for plugin hook commands
- Fall back to default provider when resuming session with unavailable provider
- Read meta.n_ctx from /v1/models to fix context limit for local OpenAI servers
- Show resolved skill supporting file paths
- Record OpenAI-native cached_tokens in usage metering
- Detect image paths with spaces
- Ensure tool request timestamp precedes tool response timestamp
- Inherit login-shell PATH in spawned subagents
- Skip non-recipe project config files in summon
- Evict stale completed tasks to prevent unbounded memory growth in summon
- Warn on unmatched extension names in summon delegate
- Make context exceeded checker more precise
- Include agentInfo in ACP initialize response
- Check for responses API support in Databricks
* Wed Jun 17 2026 Sam Doran <sdoran@redhat.com> - 1.38.0-1
- Update to version 1.38.0
- Canonical thinking modes across providers
- Surface Anthropic stream refusals as visible errors
- ACP secret key support at goose serve endpoint
- Unified OTLP logging schema for cross-tool detection
- Opt-in ACP last message snippets for sessions
- Custom ACP method to get session info
- Steering messages with ACP
- ACP list sessions with keyword and type filter
- ACP thinking effort config option
- Image read tool
- ACP methods for config extensions
- Custom notifications only when ACP client specifies capability
- Session import functionality
- Replay ACP images on session load
- Raw provider supported models over ACP
- ACP session system prompt setter
- Perplexity as declarative OpenAI-compatible provider
- Alibaba (Qwen via DashScope) declarative provider
- Configurable tool output size limit via GOOSE_MAX_TOOL_RESPONSE_SIZE
- /model slash command in CLI for session model switching
- Databricks AI Gateway provider
- Expose built-in skills through sources list ACP calls
- Replace raw config and secret methods in ACP
- Support Google model inventory refresh
- Correctly map ollama_cloud to canonical provider and update max tokens
- Incorrect max tokens values for Groq provider
- Classify Bedrock ValidationException as ExecutionError
- Page through all Databricks AI Gateway v2 endpoints when listing models
- Preserve unparseable extension entries during config refresh
- Forward ACP server context window size to clients
- Skip OTLP signals when protocol=grpc to avoid background-thread panic
- Make Azure api-version query param optional
- Stricter GGUF requirements, auto detection of tool calling support, fixed thinking output parsing
- Remove unused fetch-metadata IPC handler (SSRF)
- Replace Venice custom provider with declarative config
- Coalesce streaming chunks under one message id in ACP
- Require extension_name on read_resource
- Seed provider handoff history in ACP
- Handle ACP requests concurrently
- Mark stream decode errors retryable
- Create goose-providers crate with canonical models and types
- ACP session setup refactor
- LRU cache for token counting
- Replace review subprocess timeout with turn limits
- Honor blocking Stop hook decisions
- Forward custom headers through OAuth connect path
- Prefer goose aliases for Databricks v2 inventory
- Mount ACP in goosed server for iterative migration
- Remove threads layer, use sessions directly for ACP
- Install plugins to ~/.agents/plugins
- Switch to official new rust-sdk for ACP
- Install plugins support
- Deduplicate _goose/providers/list RPC call at startup
- Translate ACP host capabilities into MCP initialization
- Prompt injection mitigation enabled by default for internal users
- Re-adjust pattern-based detection confidence scores
- Add directionality to egress logging
- Scheduled recipe session params
- Unscheduling a recipe should not delete them
- Read prompted file parameters in recipes
* Thu May 22 2025 Rodolfo Olivieri <rolivier@redhat.com> - 1.36.0-1
- Update to version 1.36.0
- goose review local code review command
- /goal command for agent self-evaluation before finishing
- Hooks system for PreToolUse denial and extensibility
- Slash commands (built-in, skill, recipe) in ACP server
- Open-plugins generalization and skills
- Summon subagent instructions
- Unified thinking effort control across all providers
- NEAR AI Cloud provider
- Scaleway provider
- Vercel AI Gateway provider
- Atomic Chat declarative OpenAI-compatible provider
- Routstr declarative provider
- FuturMix provider
- oMLX declarative provider
- Harbor eval runner
- MAX_CODE_BLOCK_LINES configurable via env vars
- Honor GOOSE_FAST_MODEL env var in ModelConfig
- GPT-5.5 in known models
- Paginate ACP session list
- Pass session cwd param to ACP providers
- Opt-in to Vercel AI gateway leaderboard
- GOOSE_OAUTH_CALLBACK_PORT for stable OAuth redirect_uri
- Proactive OAuth token refresh to avoid re-auth on every session
- Strip chain-of-thought markers from custom provider output
- Nushell terminal and completion support
- Optional --parameters flag for scheduled recipes
- Quarterly option for scheduler
- GitHub Copilot /responses API support
- Projects as backend sources with system prompt injection
- Linux musl CLI builds
- GOOSE_DISABLE_TOOL_CALL_SUMMARY env var
- Tolerate missing responses output
- Serialize per-session agent creation to stop duplicate MCP init
- Respect GOOSE_MAX_TURNS in gateway sessions
- Send empty object instead of null for Anthropic tool_use input
- Preserve thinking content for provider context
- Mention configurable timeout env vars in Ollama stream stall error
- Include full recipe parameter details in load/discovery output
- Use context limit from /model/info for LiteLLM custom models
- Plain > prompt instead of goose emoji in CLI
- Emit trace_output as span attribute instead of event
- Check file fallback when keyring has no entry
- Use current_exe() instead of PATH lookup when spawning goose
- Set TCP_USER_TIMEOUT on streamable HTTP clients
- Activate custom provider after adding via configure
- Flush OTLP traces reliably on exit with configurable timeout
- Reduce excessive MISSING_TRANSLATION warnings for fallback locales
- Improve Telegram gateway error reporting and connection reliability
- Zero out cost for local providers (ollama, local)
- Persist accumulated cost in session DB to survive reload
- Prevent tool-use marker leakage in toolshim output
- Re-apply canonical limits when delegate overrides model
- Report cumulative total_tokens in stream-json/json output
- Refresh GCP metadata server token on expiration
- Apply request_params to outgoing OpenAI API payload
- Gemini 3.x known_location Global routing entries
- Coalesce streaming Thinking deltas and list available tools on not-found
- Honor Retry-After on 429 responses
- Preserve user-set session name for recipe-based chats
- Enforce exp independently of MAX_TOKEN_AGE_SECONDS in OIDC proxy
- Omit max_tokens for OpenAI-compatible requests when unset
- Set correct MCP-app host capabilities
- Normalize nullable schemas for Vertex Gemini compatibility
- Isolate GitHub recipe temp paths
- Set X-Initiator header on GitHub Copilot requests
- Honor dynamic_models: false in declarative provider configs
- Cache trailing message for stable prefix across Bedrock agent turns
- Case-insensitive model name lookup for context_limit
- Handle Bedrock ReasoningContent blocks gracefully
- Ensure parallel tool image responses don't interleave on Databricks
- Insert tool pair summaries at chronological position in conversation
- Enable SQLite foreign key enforcement in session pool
- Accept null tool_call arguments in OpenAI streaming chunks
- Synchronously reap ACP child to avoid SIGCHLD race
- Elicitation fixes
- Return 400 instead of panicking on invalid CSP header value
- Keep SSE reconnect loop alive on long disconnects
- Convert quoted numeric config values to numbers if needed
- Use appInfo instead of clientInfo in MCP Apps init handshake
- Use mkdir -p for self-test workspace initialization
- Exclude preprompt from session title generation
- Prevent login-shell PATH probe from suspending goose on startup
- Handle non-interactive terminal in goose configure
- Use python3 in developer extension instructions
- Build summon instructions per turn
- Protocol cleanup
- Dependency hygiene
- Prompt injection mitigation: update pattern-based detection to reduce FPs
- Surface resolved Databricks model metadata
- Include request URL in provider error messages
- Flag for login shell PATH
- Structured per-provider config block, non-destructive provider switching
- Preserve thinking content for providers that require it
- Dynamically refresh skill instructions each turn
- Show tool name in approval prompt
- Location column in CLI skills table
- Consolidate logging setup into shared helper
- Support optional api_key configuration for declarative openai-engine providers
- Recipe discovery and execution in ACP server
- Group consecutive tool calls into one summarized chain card
- Replace artifact heuristics and regexes with protocol messages
- Improvements to LM Studio declarative provider
- Parallelize provider resolution and eagerly init SQLite pool
- ACP streamable HTTP spec compliance
- Refresh onboarding when provider catalog loads
- Redesign extensions configuration
- Redesign skills library backend
- Mergeable configs cleanup
|