v0.3.35
RightNow-AI/openfangv0.3.35Mar 9, 2026by github-actions[bot]
AI Summary
Bug fixes for SSE streaming accuracy, UTF-8 safety, cron timezone support, dashboard authentication, custom provider auto-detection, and various API format improvements.
Key Highlights
- SSE streaming now includes stream_options for accurate token counts in OpenAI-compatible drivers
- UTF-8 safety fixes prevent 7 byte-slicing panics on multi-byte characters
- Cron timezone support added via chrono-tz for IANA timezone-aware scheduling
- Custom providers auto-detect PROVIDER_API_KEY env vars with clear error messages
- Provider probing includes concurrent health checks with 60s cache
New Features
- OpenRouter models now use 10 real model IDs replacing placeholders
- ZHIPU/GLM API now handles non-null content on tool_call messages
- Fish shell detection for correct PATH syntax
Full Release Notes
## Fixes
- **SSE streaming**: add `stream_options` for accurate token counts in OpenAI-compatible drivers
- **UTF-8 safety** (#472): fix 7 byte-slicing panics on multi-byte characters
- **Cron timezone** (#473): chrono-tz for IANA timezone-aware scheduling
- **TOML multiline** (#463): triple-quoted strings for system_prompt in manifest generation
- **Dashboard auth** (#468): 401 interceptor clears stale tokens, all tabs use OpenFangAPI client
- **Custom providers** (#471, #476, #446): auto-detect `{PROVIDER}_API_KEY` env vars, clear error on missing base_url
- **Cron stale agent** (#461): `reassign_agent_jobs()` on hand reactivation
- **Provider probing** (#474): concurrent health checks with 60s cache
- **Model switch sync** (#466, #387): server-resolved provider propagated to dashboard
- **OpenRouter models** (#385): 10 real models replacing placeholders
- **Embedding URL** (#395): auto-append `/v1`, read `provider_urls` config
- **ZHIPU format** (#384): non-null content on tool_call messages
- **Fish shell** (#372): detect target file for correct PATH syntax
## Stats
39 files changed, 1194 insertions, 254 deletions, 1915 tests pass, 0 clippy warnings