You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SwiftPM dependency checkouts no longer mistake another resolved Commander checkout for a sibling development package, avoiding conflicting package identities and a future resolution error.
[0.2.1] - 2026-07-15
Added
Added first-class Claude Sonnet 5 and OpenAI GPT-5.6 Sol/Terra/Luna support with parsing aliases, capabilities, provider routing, and usage estimates.
Added MiniMax-M3 with 1M context, image input, provider/model parsing, and Anthropic-compatible routing. Thanks @Tugser.
Added first-class OpenAI chat-latest support with parsing aliases, Responses API routing, model capabilities, and usage estimates.
Added first-class MiniMax support with the MiniMax-M2.7 catalog models, MINIMAX_API_KEY / MINIMAX_BASE_URL configuration, bearer-token Anthropic-compatible transport, model parsing shortcuts, usage estimates, and provider tests.
Added first-class Kimi support for the official K2.6 and K2.7 Code model IDs, Moonshot's OpenAI-compatible endpoint, multimodal/tool capabilities, and provider-bound reasoning_content replay. Thanks @Tugser.
Added explicit LM Studio model shortcuts such as lmstudio and lmstudio/openai/gpt-oss-120b so local provider selections no longer fall through to Ollama custom IDs.
Changed
Refreshed the first-class model catalog to current provider IDs: OpenAI GPT-5.5/5.4, Claude Fable 5/Opus 4.8/Opus 4.7/Sonnet 4.6/Haiku 4.5, Gemini 3.1, Mistral latest aliases, Groq current production IDs, and xAI Grok 4.3/4.20.
Added explicit claude-fable-5 support with 1M context, 128K max output, signed-thinking replay, refusal handling, and non-streaming generation; LanguageModel.default remains claude-opus-4-8, while LanguageModel.defaultStreaming now uses streaming-safe gpt-5.5.
Removed stale direct model support for retired or non-canonical IDs including GPT-5.1/5.2/pseudo-thinking models, deprecated Claude Sonnet/Opus 4 snapshots, Grok 2/3/4-fast rows, old Groq Llama/Mixtral/Gemma aliases, stale Mistral aliases, and invalid LM Studio current.
Fixed
Ollama now applies configured bearer auth, requests and exposes thinking, safely preserves same-endpoint history without persisting authentication material, maps terminal reasons without executing truncated tool calls, and streams strict NDJSON incrementally across supported platforms.
Ollama tool conversations now replay assistant calls and named results, preserve recursive arguments and array schemas, report tool-call finishes, and surface HTTP-200 stream errors instead of silently succeeding.
Sonnet 5 usage estimates now switch from introductory to standard pricing after August 31, 2026.
GPT-5.6 models now retain their 372K context and 128K output limits through OpenAI-compatible, OpenRouter, and Together endpoints.
GPT-5.6 OpenRouter routes with terminal variants such as :online, :nitro, :floor, and :exacto now retain those limits without rewriting the routed model ID.
OpenAI gpt-5-chat-latest now preserves its distinct model identity, appears in model listings, and applies GPT-5 parameter filtering instead of being rewritten to chat-latest.
SwiftPM consumers now resolve Commander from the package URL instead of accidentally inheriting a sibling local checkout.
Ollama model parsing now preserves explicit custom vision model IDs such as qwen2.5vl:3b instead of falling back to llama3.3 (#16).
Auth resolution now snapshots environment-ignore state consistently, preventing parallel tests and concurrent callers from falling back to stored OpenRouter credentials when an environment override is present.
SwiftPM consumers can now resolve Commander remotely instead of requiring a local ../Commander checkout. Thanks @malpern.
Custom OpenAI-compatible and Anthropic-compatible providers now honor per-provider options.apiKey values from profile config. Thanks @381181295.
Google/Gemini request encoding now sends tool results as documented user functionResponse turns and merges consecutive same-role contents before calling the API. Thanks @hsrvc.
Google/Gemini tool schemas now drop orphan required entries before request encoding so Gemini accepts simplified MCP tool definitions. Thanks @bcharleson.
OpenAI Responses API providers now resolve shared OAuth/API-key credentials instead of requiring OPENAI_API_KEY directly.
Credential loading now only maps exact API-key credential names to provider API keys, so OAuth access/refresh tokens no longer overwrite configured OpenAI or Anthropic keys.
Custom OpenAI-compatible and Anthropic-compatible providers now forward configured proxy headers to request calls.
Anthropic base URL environment overrides now survive Swift release builds, so ANTHROPIC_BASE_URL can route requests through local proxies. Thanks @shraderdm.