diff --git a/CHANGELOG.md b/CHANGELOG.md index 54ffeb3cb1..b89488c7df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ --- +## [3.3.0] - 2026-03-29 + +### ✨ Enhancements & Refactoring + +- **Release Stabilization** — Finalized v3.2.9 release (combo diagnostics, quality gates, Gemini tool fix) and created missing git tag. Consolidated all staged changes into a single atomic release commit. + +### 🐛 Bug Fixes + +- **Auto-Update Test** — Fixed `buildDockerComposeUpdateScript` test assertion to match unexpanded shell variable references (`$TARGET_TAG`, `${TARGET_TAG#v}`) in the generated deploy script, aligning with the refactored template from v3.2.8. +- **Circuit Breaker Test** — Hardened `combo-circuit-breaker.test.mjs` by injecting `maxRetries: 0` to prevent retry inflation from skewing failure count assertions during breaker state transitions. + +--- + ## [3.2.9] - 2026-03-29 ### ✨ Enhancements & Refactoring diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 10ebe45d8c..e63dd1247f 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: OmniRoute API - version: 3.2.9 + version: 3.3.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 fc170a47e5..de44509bc9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "omniroute", - "version": "3.2.9", + "version": "3.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "3.2.9", + "version": "3.3.0", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index 3f30a2403e..06d800ab92 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "3.2.9", + "version": "3.3.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/tests/unit/auto-update-runtime.test.mjs b/tests/unit/auto-update-runtime.test.mjs index f4ab00aa33..376d272fef 100644 --- a/tests/unit/auto-update-runtime.test.mjs +++ b/tests/unit/auto-update-runtime.test.mjs @@ -97,7 +97,7 @@ describe("buildDockerComposeUpdateScript", () => { assert.match(script, /git fetch --tags/); assert.match(script, /git config --global --add safe\.directory/); - assert.match(script, /git checkout -B "autoupdate\/3\.2\.6" "v3\.2\.6"/); + assert.match(script, /git checkout -B "autoupdate\/\$\{TARGET_TAG#v\}" "\$TARGET_TAG"/); assert.match(script, /git cherry-pick --keep-redundant-commits '1501a87' 'e569e1c'/); assert.match(script, /docker compose -f "\$COMPOSE_FILE" up -d --build "\$SERVICE"/); });