From 508a6d99f5c4e5b850044e7ee98af2c21e94c97d Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Fri, 27 Mar 2026 15:15:07 -0300 Subject: [PATCH] chore(release): bump version to v3.1.7 and fix SSE parsing bug --- CHANGELOG.md | 7 +++++++ docs/openapi.yaml | 2 +- open-sse/handlers/sseParser.ts | 2 +- package.json | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 821db65f12..4501145c65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ ## [Unreleased] +## [3.1.7] - 2026-03-27 + +### 🐛 Bug Fixes + +- **Streaming Stability:** Fixed `hasValuableContent` returning `undefined` for empty chunks in SSE streams (#676). +- **Tool Calling:** Fixed an issue in `sseParser.ts` where non-streaming Claude responses with multiple tool calls dropped the `id` of subsequent tool calls due to incorrect index-based deduplication (#671). + --- ## [3.1.6] — 2026-03-27 diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 4dc0a26a1d..f42c9aac1c 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: OmniRoute API - version: 3.1.6 + version: 3.1.7 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/open-sse/handlers/sseParser.ts b/open-sse/handlers/sseParser.ts index f0b958383a..e1e6136127 100644 --- a/open-sse/handlers/sseParser.ts +++ b/open-sse/handlers/sseParser.ts @@ -36,8 +36,8 @@ export function parseSSEToOpenAIResponse(rawSSE, fallbackModel) { let usage = null; const getToolCallKey = (toolCall: Record) => { - if (toolCall?.id) return `id:${toolCall.id}`; if (Number.isInteger(toolCall?.index)) return `idx:${toolCall.index}`; + if (toolCall?.id) return `id:${toolCall.id}`; unknownToolCallSeq += 1; return `seq:${unknownToolCallSeq}`; }; diff --git a/package.json b/package.json index 12451f3f99..9ceccc48dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "3.1.6", + "version": "3.1.7", "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": {