diff --git a/CHANGELOG.md b/CHANGELOG.md index 43ca872249..f6fb9eb7bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,32 @@ --- +## [3.0.2] — 2026-03-25 + +### 🚀 Enhancements & Features + +#### feat(ui): Connection Tag Grouping + +- Added a Tag/Group field to `EditConnectionModal` (stored in `providerSpecificData.tag`) without requiring DB schema migrations. +- Connections in the provider view now dynamically group by tag with visual dividers. +- Untagged connections appear first without a header, followed by tagged groups in alphabetical order. +- The tag grouping automatically applies to the Codex/Copilot/Antigravity Limits section since toggles exist inside connection rows. + +### 🐛 Bug Fixes + +#### fix(ui): Proxy Management UI Stabilization + +- **Missing badges on connection cards:** Fixed by using `resolveProxyForConnection()` rather than static mapping. +- **Test Connection disabled in saved mode:** Enabled the Test button by resolving proxy config from the saved list. +- **Config Modal freezing:** Added `onClose()` calls after save/clear to prevent the UI from freezing. +- **Double usage counting:** `ProxyRegistryManager` now loads usage eagerly on mount with deduplication by `scope` + `scopeId`. Usage counts were replaced with a Test button displaying IP/latency inline. + +#### fix(translator): `function_call` prefix stripping + +- Repaired an incomplete fix from PR #607 where only `tool_use` blocks stripped Claude's `proxy_` tool prefix. Now, clients using the OpenAI Responses API format will also correctly receive tool tools without the `proxy_` prefix. + +--- + ## [3.0.1] — 2026-03-25 ### 🔧 Hotfix Patch — Critical Bug Fixes diff --git a/docs/openapi.yaml b/docs/openapi.yaml index a35efa4b1c..fb3de94bfa 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: OmniRoute API - version: 3.0.1 + version: 3.0.2 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 51038949d0..9c225d561a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "omniroute", - "version": "3.0.1", + "version": "3.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "3.0.1", + "version": "3.0.2", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index db34fc9ca6..faec05ca30 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "3.0.1", + "version": "3.0.2", "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": {