Releases: RightNow-AI/openfang
Releases · RightNow-AI/openfang
v0.3.20
Fixes: - Custom providers now accepted by API endpoints — set_provider_url and set_provider_key no longer reject unknown provider names (#321) - Custom providers auto-registered in catalog with derived env var name - channel_send tool now supports image_url, file_url, and filename params for media sending (#302) - New send_channel_media kernel method routes Image/File content to channel adapters - Strip <think>...</think> blocks from model output in WS, HTTP, and OpenAI-compat endpoints (#330)
v0.3.19
Fixes: - MCP tool names with hyphens now preserved when calling back to server (#326) - Init wizard expanded from 11 to 22 providers (#317) - Telegram 409 Conflict now retries with backoff instead of stopping permanently (#315, #314) - GitHub Copilot provider name normalized to github-copilot in init wizard
v0.3.18
Fixes: - Session repair after context overflow now captures return value (#328) - Embedding driver uses configured model instead of hardcoded defaults (#327) - Claude Code driver adds --dangerously-skip-permissions to both complete and stream (#325) - ClawHub search handles nullable version field (#316) - OpenAI driver supports extra headers, Copilot passes IDE headers (#320) - Added volcengine_coding provider for Volcano Engine Coding Plan (#313)
v0.3.17
Fix daemon not starting after system reboot due to stale PID file (now verifies daemon is actually responding before rejecting startup) Fix port TIME_WAIT preventing immediate daemon restart (SO_REUSEADDR via socket2)
v0.3.16
Fix empty api_key blocking remote access with 403 (now skips auth entirely when api_key is empty, matching documented behavior) Add Z.AI (api.z.ai) as provider with both general and coding API endpoints Confirm graceful boot degradation when LLM provider auth fails (StubDriver fallback)
v0.3.15
Fix POST /api/agents/{id}/message returning 500 for nonexistent agents (now returns 404)
Fix v1/chat/completions silently falling back to first agent for unknown model names (now returns 404)
Add semantic error status codes for quota exceeded (429) in message endpoint
v0.3.14
Fix UTF-8 panic in string truncation for non-ASCII tool output Fix Anthropic streaming multi-tool block index using content_block index field Fix custom provider_urls models showing as unavailable (auth_status now set to Configured) Fix Claude Code driver stream-json missing --verbose flag Fix Claude Code driver empty response when result field absent (now checks content/text fields)
v0.3.13
- Fix channel config list fields saved as strings instead of TOML arrays (#288) - Fix Discord GroupPolicy::MentionOnly not enforced — bot now checks @mentions (#289) - Add Discord allowed_users config option for user-level access control (#290) - Fix colon delimiter in model names (e.g. qwen:qwen-plus now works) (#283) - Add GLM-5 and GLM-4.7 models for Zhipu AI (#285) - Improve Ollama error message to suggest ollama pull (#292) - Fix custom models from unknown providers showing as unavailable (#284)
v0.3.12
- Fix openfang doctor false positive on bundled skills (only flag Critical, not Warning) - Fix Clip Hand not collecting ElevenLabs API key (added env_var field to HandSetting) - Fix Twitter Hand text input appearing disabled (wrong CSS class) - Add Volcano Engine / Doubao provider with 4 models
v0.3.11
Fixes: - Add delete button for custom models in dashboard settings (#278) - Auto-detect Ollama in openfang init when no API keys are set (#277, #260) - Improve StubDriver error message to mention Ollama as local option - Close #274 (approvals API already fully implemented) - Close #70 (Kimi/Moonshot already supported since v0.3.10)