From 45b272ee2f0816c3eb3c04186989efb2c804aa46 Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Mon, 23 Mar 2026 21:05:44 -0300 Subject: [PATCH] chore: bump version to 3.0.0-rc.15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CHANGELOG: add rc.14 (PRs #562, #561) and rc.15 (#563 per-model combo routing) - package.json: 3.0.0-rc.13 → 3.0.0-rc.15 - openapi.yaml: version sync to 3.0.0-rc.15 --- CHANGELOG.md | 34 ++++++++++++++++++++++++++++++++++ docs/openapi.yaml | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b90514db..b7fbcba2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,40 @@ --- +## [3.0.0-rc.15] — 2026-03-23 + +### ✨ New Features + +- **#563** — Per-model Combo Routing: map model name patterns (glob) to specific combos for automatic routing + - New `model_combo_mappings` table (migration 010) with pattern, combo_id, priority, enabled + - `resolveComboForModel()` DB function with glob-to-regex matching (case-insensitive, `*` and `?` wildcards) + - `getComboForModel()` in `model.ts`: augments `getCombo()` with model-pattern fallback + - `chat.ts`: routing decision now checks model-combo mappings before single-model handling + - API: `GET/POST /api/model-combo-mappings`, `GET/PUT/DELETE /api/model-combo-mappings/:id` + - Dashboard: "Model Routing Rules" section added to Combos page with inline add/edit/toggle/delete + - Examples: `claude-sonnet*` → code-combo, `gpt-4o*` → openai-combo, `gemini-*` → google-combo + +### 🧪 Tests + +- Test suite: **923 tests, 0 failures** (+15 new model-combo mapping tests) + +--- + +## [3.0.0-rc.14] — 2026-03-23 + +### 🔀 Community PRs Merged + +| PR | Author | Summary | +| -------- | -------- | -------------------------------------------------------------------------------------------- | +| **#562** | @coobabm | fix(ux): MCP session management, Claude passthrough normalization, OAuth modal, detectFormat | +| **#561** | @zen0bit | fix(i18n): Czech translation corrections — HTTP method names and documentation updates | + +### 🧪 Tests + +- Test suite: **908 tests, 0 failures** + +--- + ## [3.0.0-rc.13] — 2026-03-23 ### 🔧 Bug Fixes diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 7220d62e..78f0cb43 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: OmniRoute API - version: 3.0.0-rc.13 + version: 3.0.0-rc.15 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 5f165c1c..701a1cd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "omniroute", - "version": "3.0.0-rc.13", + "version": "3.0.0-rc.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "3.0.0-rc.13", + "version": "3.0.0-rc.15", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index 39f3bc53..b5b4aa89 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "3.0.0-rc.13", + "version": "3.0.0-rc.15", "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": {