diff --git a/CHANGELOG.md b/CHANGELOG.md index 70a9a23333..c14541de8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [2.3.3] — 2026-03-12 + +> ### Providers Test All Fix + +### 🐛 Bug Fixes + +- **Providers page crash when clicking 'Test All'** — Clicking 'Testar Todos' could trigger the error boundary ('Failed to load providers') when the batch test timed out or returned a non-JSON response. Fixed with: + - `AbortController` (90s timeout) on the `handleBatchTest` fetch + - Inner `try/catch` for `res.json()` — truncated/non-JSON responses no longer crash the component + - Null/type guard in `ProviderTestResultsView` — malformed results can no longer trigger a render exception + - New i18n key `providerTestTimeout` for friendly timeout message (PR #330) + +--- + ## [2.3.2] — 2026-03-12 > ### Claude 1M Context, Postinstall Fix, New Models & OAuth Remote Docs diff --git a/package-lock.json b/package-lock.json index 20ba67265c..34d396c9fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "omniroute", - "version": "2.3.2", + "version": "2.3.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "2.3.2", + "version": "2.3.3", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index ff8b65b6ee..8e0879bc15 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "2.3.2", + "version": "2.3.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": {