v0.9.5
affaan-m/ECCv0.9.5Sep 3, 2026by tashfeenahmed
AI Summary
A major feature release introducing task-type-aware routing, persistent SQLite caching, and a new quota forecast endpoint. It also includes security tools for secret rotation and updates to the MCP server configuration.
Key Highlights
- Task-type-aware routing allows nudging the router based on request type (code or chat).
- Response cache can now persist to SQLite to survive restarts.
- New `/v1/quota-forecast` endpoint provides daily headroom information.
- Re-encryption utility allows rotating stored secrets under a new key.
New Features
- Task-type-aware routing with tunable weight share
- Persistent SQLite response cache
- Quota forecast endpoint (`/v1/quota-forecast`)
- MCP server on/off switch
- Re-encryption utility for secrets
Full Release Notes
## Routing - Task-type-aware routing: send `x-freellm-task-type: code` or `chat` to nudge the bandit weights toward intelligence or speed for that request. Code is also detected from unambiguous markers in the prompt. The `fastest`, `reliable` and `custom` strategies are never adjusted. (#1128) - The share of the weight shift is tunable via `GET/PUT /api/settings/task-weight-share`; `0` turns it off. (#1129) ## Models and quota - `/v1/models` now reports `execution_status` per model (`ready`, `needsKey`, `exhausted`) using the router's own cooldown, rate-window and key-scope checks, and accepts `?execution_status=` as a filter. (#1101) - New `GET /v1/quota-forecast` endpoint: remaining daily headroom per quota pool with a low-balance flag before the UTC reset. (#1111) ## Cache - The response cache can now persist to SQLite so it survives restarts. Opt out with `RESPONSE_CACHE_PERSIST=0`. Only active when the cache itself is enabled, and note that it stores model responses on disk in plaintext. (#1097) - Analytics shows a cache card with hit rate and saved tokens when the cache is on. (#1117) ## MCP - The `/mcp` endpoint has an on/off switch (`GET/PUT /api/settings/enable-mcp`) and a toggle under Keys → agent compatibility. Existing installs stay on; fresh installs start with it off. A disabled server answers 403 on every verb. (#1073) ## Security and operations - `npm run rotate-encryption-key` re-encrypts every stored secret (provider keys, proxy credentials, client profile keys, Fetch Relay token) under a new `ENCRYPTION_KEY`, with `--dry-run`. (#1113) - CI: GitHub Actions bumped to current majors and pinned to full commit SHAs, Dependabot keeps them fresh, server test coverage is reported on the Node 22 leg, and ESLint now runs for the server and CLI workspaces. (#1067, #1118, #1119, #1121) ## Fixes - `setup-opencode` writes `limit.output`, which OpenCode's config schema requires. Shipped as CLI 0.5.1 on npm. (#1055) ## Docs - QwenPaw setup guide in English and Chinese. Thanks @qinghuanandejiangshi. (#1137) Thanks to @suantea and @yfdyh000 for the contributions in this release. Full changelog: https://github.com/tashfeenahmed/freellmapi/compare/v0.9.4...v0.9.5 --- ⭐ Like the free router? [Go Premium](https://freellmapi.co/?utm_source=github&utm_medium=release&utm_campaign=premium&utm_content=v0.9.5#pricing) — the live signed catalog, $19/yr, cancel anytime.