From 44478c36a3cbc6f1fd431030fba0e4e72236d74b Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Sun, 15 Mar 2026 08:47:27 -0300 Subject: [PATCH] =?UTF-8?q?chore(release):=20v2.6.0=20=E2=80=94=20issue=20?= =?UTF-8?q?resolution=20sprint=20(#390=20#340=20#344=20#377=20#378=20#337)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 21 +++++++++++++++++++++ docs/openapi.yaml | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/shared/components/RequestLoggerV2.tsx | 14 +++++++------- 5 files changed, 32 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a35dcee209..4a08e3b45c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,27 @@ --- +## [2.6.0] - 2026-03-15 + +> Issue resolution sprint: 4 bugs fixed, logs UX improved, Kiro credit tracking added. + +### 🐛 Bug Fixes + +- **fix(media)**: ComfyUI and SD WebUI no longer appear in the Media page provider list when unconfigured — fetches `/api/providers` on mount and hides local providers with no connections (#390) +- **fix(auth)**: Round-robin no longer re-selects rate-limited accounts immediately after cooldown — `backoffLevel` is now used as primary sort key in the LRU rotation (#340) +- **fix(oauth)**: iFlow (and other providers that redirect to their own UI) no longer leave the OAuth modal stuck at "Waiting for Authorization" — popup-closed detector auto-transitions to manual URL input mode (#344) +- **fix(logs)**: Request log table is now readable in light mode — status badges, token counts, and combo tags use adaptive `dark:` color classes (#378) + +### ✨ Features + +- **feat(kiro)**: Kiro credit tracking added to usage fetcher — queries `getUserCredits` from AWS CodeWhisperer endpoint (#337) + +### 🛠 Chores + +- **chore(tests)**: Aligned `test:plan3`, `test:fixes`, `test:security` to use same `tsx/esm` loader as `npm test` — eliminates module resolution false negatives in targeted runs (PR #386) + +--- + ## [2.5.9] - 2026-03-15 > Codex native passthrough fix + route body validation hardening. diff --git a/docs/openapi.yaml b/docs/openapi.yaml index c905a75f1e..68e2daaa5f 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: OmniRoute API - version: 2.5.9 + version: 2.6.0 description: | OmniRoute is a local-first AI API proxy router. It provides an OpenAI-compatible endpoint that routes requests to multiple AI providers with load balancing, diff --git a/package-lock.json b/package-lock.json index 8d1cd5c623..dd0a098f46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "omniroute", - "version": "2.5.9", + "version": "2.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "2.5.9", + "version": "2.6.0", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index 15be911ef3..4abc3677e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "2.5.9", + "version": "2.6.0", "description": "Smart AI Router with auto fallback — route to FREE & cheap models, zero downtime. Works with Cursor, Cline, Claude Desktop, Codex, and any OpenAI-compatible tool.", "type": "module", "bin": { diff --git a/src/shared/components/RequestLoggerV2.tsx b/src/shared/components/RequestLoggerV2.tsx index 0b970dc126..2d5903b4dc 100644 --- a/src/shared/components/RequestLoggerV2.tsx +++ b/src/shared/components/RequestLoggerV2.tsx @@ -351,16 +351,16 @@ export default function RequestLoggerV2() { {totalCount} total - + {okCount} OK {errorCount > 0 && ( - + {errorCount} ERR )} {comboCount > 0 && ( - + {comboCount} combo )} @@ -498,11 +498,11 @@ export default function RequestLoggerV2() { {visibleColumns.status && (
@@ -635,7 +635,7 @@ export default function RequestLoggerV2() { {visibleColumns.combo && ( {log.comboName ? ( - + {log.comboName} ) : ( @@ -651,7 +651,7 @@ export default function RequestLoggerV2() { | O:{" "} - + {log.tokens?.out?.toLocaleString() || 0}