From bcb2e91d9711f3c7b83e890a26eb292e3be7db75 Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Thu, 26 Mar 2026 00:26:22 -0300 Subject: [PATCH] =?UTF-8?q?chore(release):=20v3.0.9=20=E2=80=94=20fix=20Na?= =?UTF-8?q?N=20tokens=20in=20sanitizeUsage,=20yaml=20security=20update=20(?= =?UTF-8?q?#617)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 20 ++++++++++++++++++++ docs/openapi.yaml | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6440883715..b9dec7bf0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,26 @@ --- +## [3.0.9] — 2026-03-26 + +### 🐛 Bug Fixes + +- **NaN tokens in Claude Code / client responses (#617):** + - `sanitizeUsage()` now cross-maps `input_tokens`→`prompt_tokens` and `output_tokens`→`completion_tokens` before the whitelist filter, fixing responses showing NaN/0 token counts when providers return Claude-style usage field names + +### 🔒 Security + +- Updated `yaml` package to fix stack overflow vulnerability (GHSA-48c2-rrv3-qjmp) + +### 📋 Issue Triage + +- Closed #613 (Codestral — resolved with Custom Provider workaround) +- Commented on #615 (OpenCode dual-endpoint — workaround provided, tracked as feature request) +- Commented on #618 (tool call visibility — requesting v3.0.9 test) +- Commented on #627 (effort level — already supported) + +--- + ## [3.0.8] — 2026-03-25 ### 🐛 Bug Fixes diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 99a56165a2..923fb49ca3 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: OmniRoute API - version: 3.0.8 + version: 3.0.9 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 79a11f948f..6bd0408869 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "omniroute", - "version": "3.0.8", + "version": "3.0.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "3.0.8", + "version": "3.0.9", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index 6336177c42..dc34ae8b6d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "3.0.8", + "version": "3.0.9", "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": {