From f01fb909e37189008080632ddaf404f096345cde Mon Sep 17 00:00:00 2001 From: decolua Date: Sat, 26 Sep 2026 17:40:15 +0700 Subject: [PATCH] # v0.5.91 (2026-09-26) ## Features - **Providers**: add Token Harbor provider and four OpenAI-compatible aggregator providers (dahl, atria, agnes, bai) - **Claude**: forward `x-claude-code-session-id` on OAuth requests; merge client `anthropic-beta` flags and forward rate-limit headers; return thinking text to OpenAI-format clients - **Codex**: add GPT-6 Sol and Luna support - **CLI Tools**: support multiple model profiles for Codex CLI - **Hermes**: multi-role model config (delegation + auxiliary slots) - **OpenCode Go**: complete the Go catalog (40 models) with auto-fetch + family endpoint regex - **Usage**: show and redeem free limit resets for cc accounts - **Cline**: expose the `cline-free/*` tier and price it at zero - **Combos**: display vision adapter models in an ordered table view ## Fixes - **Claude**: decloak tool names when `toolNameMap` misses (#4342); update spoofed cli version to 2.1.280 to support Opus 5.5 - **Providers API**: make POST `/api/providers` O(1) and refuse silent key overwrite (#4350) - **Capabilities**: stop caching the catalog source per module copy (#4351) - **OAuth**: stop Zed paste-token crash and add IDE auto-import (#4359) - **Dashboard**: resolve combo limits with the server's capabilities (#4360); lazy-load charts and `marked`, preload in background on idle - **Responses**: carry the streamed output items in `response.completed` (#4307) - **STT**: dispatch live-API-only Gemini models over the Live WebSocket transport (#4006) - **Gemini**: guard terminal model turns and unresponded functionCalls in `normalizeGeminiContents` - **Command Code**: replay raw byte chunks to preserve all NDJSON lines - **Translator**: stop emitting empty `` markers into OpenAI content - **CLI Tools**: refresh Codex settings after apply (#4347); keep existing `ANTHROPIC_AUTH_TOKEN` when applying Claude settings - **Tray**: native arm64 macOS menubar binary, no Rosetta required - **CLI**: filter model selector by active connections and noAuth providers - **Usage**: key live byApiKey stats by full api key to prevent team-key collision and preserve API key usage attribution - **Tailscale**: cap enable-flow health wait at 20s --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ cli/package.json | 2 +- package.json | 2 +- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12f32475..6cb89240 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +# v0.5.91 (2026-09-26) + +## Features +- **Providers**: add Token Harbor provider and four OpenAI-compatible aggregator providers (dahl, atria, agnes, bai) +- **Claude**: forward `x-claude-code-session-id` on OAuth requests; merge client `anthropic-beta` flags and forward rate-limit headers; return thinking text to OpenAI-format clients +- **Codex**: add GPT-6 Sol and Luna support +- **CLI Tools**: support multiple model profiles for Codex CLI +- **Hermes**: multi-role model config (delegation + auxiliary slots) +- **OpenCode Go**: complete the Go catalog (40 models) with auto-fetch + family endpoint regex +- **Usage**: show and redeem free limit resets for cc accounts +- **Cline**: expose the `cline-free/*` tier and price it at zero +- **Combos**: display vision adapter models in an ordered table view + +## Fixes +- **Claude**: decloak tool names when `toolNameMap` misses (#4342); update spoofed cli version to 2.1.280 to support Opus 5.5 +- **Providers API**: make POST `/api/providers` O(1) and refuse silent key overwrite (#4350) +- **Capabilities**: stop caching the catalog source per module copy (#4351) +- **OAuth**: stop Zed paste-token crash and add IDE auto-import (#4359) +- **Dashboard**: resolve combo limits with the server's capabilities (#4360); lazy-load charts and `marked`, preload in background on idle +- **Responses**: carry the streamed output items in `response.completed` (#4307) +- **STT**: dispatch live-API-only Gemini models over the Live WebSocket transport (#4006) +- **Gemini**: guard terminal model turns and unresponded functionCalls in `normalizeGeminiContents` +- **Command Code**: replay raw byte chunks to preserve all NDJSON lines +- **Translator**: stop emitting empty `` markers into OpenAI content +- **CLI Tools**: refresh Codex settings after apply (#4347); keep existing `ANTHROPIC_AUTH_TOKEN` when applying Claude settings +- **Tray**: native arm64 macOS menubar binary, no Rosetta required +- **CLI**: filter model selector by active connections and noAuth providers +- **Usage**: key live byApiKey stats by full api key to prevent team-key collision and preserve API key usage attribution +- **Tailscale**: cap enable-flow health wait at 20s + # v0.5.86 (2026-09-23) ## Features diff --git a/cli/package.json b/cli/package.json index 4851a71b..1a67862a 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "9router", - "version": "0.5.86", + "version": "0.5.91", "description": "9Router CLI - Start and manage 9Router server", "bin": { "9router": "./cli.js" diff --git a/package.json b/package.json index 4dbc5247..cb0de5b3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "9router-app", - "version": "0.5.86", + "version": "0.5.91", "description": "9Router web dashboard", "private": true, "scripts": {