From 36856b18db56977ef7fb97553462c848b3f2ca3b Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Sat, 14 Mar 2026 19:53:59 -0300 Subject: [PATCH] chore: release v2.5.3 bug fixes (PRs #373, #371, #372, #369 by @kfiramar): - fix(db): provider_connections.group column migration for existing DBs - fix(i18n): replace missing deleteConnection key with delete in tooltip - fix(auth): clear stale error metadata on genuine provider recovery - fix(startup): unify env loading across npm/electron startup paths code quality improvements (per kilo-code-bot review): - docs: document result.success vs response.ok patterns in auth.ts - refactor: normalize overridePath?.trim() in electron/main.js - docs: explain preferredEnv merge order intent --- CHANGELOG.md | 17 ++++++++++++++++- docs/openapi.yaml | 2 +- package.json | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9acfb1f5e6..0676e4fb43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,22 @@ ## [Unreleased] -## [2.5.2] - 2026-03-14 +## [2.5.3] - 2026-03-14 + +> Critical bugfixes: DB schema migration, startup env loading, provider error state clearing, and i18n tooltip fix. Code quality improvements on top of each PR. + +### 🐛 Bug Fixes (PRs #369, #371, #372, #373 by @kfiramar) + +- **fix(db) #373**: Add `provider_connections.group` column to base schema + backfill migration for existing databases — column was used in all queries but missing from schema definition +- **fix(i18n) #371**: Replace non-existent `t("deleteConnection")` key with existing `providers.delete` key — fixes `MISSING_MESSAGE: providers.deleteConnection` runtime error on provider detail page +- **fix(auth) #372**: Clear stale error metadata (`errorCode`, `lastErrorType`, `lastErrorSource`) from provider accounts after genuine recovery — previously, recovered accounts kept appearing as failed +- **fix(startup) #369**: Unify env loading across `npm run start`, `run-standalone.mjs`, and Electron to respect `DATA_DIR/.env → ~/.omniroute/.env → ./.env` priority — prevents generating a new `STORAGE_ENCRYPTION_KEY` over an existing encrypted database + +### 🔧 Code Quality + +- Documented `result.success` vs `response?.ok` patterns in `auth.ts` (both intentional, now explained) +- Normalized `overridePath?.trim()` in `electron/main.js` to match `bootstrap-env.mjs` +- Added `preferredEnv` merge order comment in Electron startup > Codex account quota policy with auto-rotation, fast tier toggle, gpt-5.4 model, and analytics label fix. diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 988e0d7289..14112e5c35 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: OmniRoute API - version: 2.5.2 + version: 2.5.3 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.json b/package.json index 7ef6d3c591..59b3bedc91 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "2.5.2", + "version": "2.5.3", "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": {