diff --git a/CHANGELOG.md b/CHANGELOG.md index fdff621f8f..b734ad7369 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [1.6.3] — 2026-02-28 + +### 🐛 Bug Fixes + +- **Database data preservation on upgrade** — Previously, upgrading from older versions (e.g. v1.2.0 → v1.6.x) could cause data loss by renaming the existing database when a legacy `schema_migrations` table was detected. Now checks for actual data before deciding to reset ([#146](https://github.com/diegosouzapw/OmniRoute/issues/146)) +- **Hardcoded build-machine paths in npm package** — Next.js standalone output baked absolute paths from the build machine into `server.js` and `required-server-files.json`. On other machines these paths don't exist, causing `ENOENT` errors. The prepublish script now sanitizes all build paths to relative ([#147](https://github.com/diegosouzapw/OmniRoute/issues/147)) + +--- + ## [1.6.2] — 2026-02-27 ### ✨ New Features @@ -769,6 +778,7 @@ New environment variables: --- +[1.6.3]: https://github.com/diegosouzapw/OmniRoute/releases/tag/v1.6.3 [1.6.2]: https://github.com/diegosouzapw/OmniRoute/releases/tag/v1.6.2 [1.6.1]: https://github.com/diegosouzapw/OmniRoute/releases/tag/v1.6.1 [1.6.0]: https://github.com/diegosouzapw/OmniRoute/releases/tag/v1.6.0 diff --git a/package-lock.json b/package-lock.json index 8037dd9653..3a0db7b5d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,13 @@ { "name": "omniroute", - "version": "1.5.0", + "version": "1.6.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "1.5.0", + "version": "1.6.2", + "hasInstallScript": true, "license": "MIT", "workspaces": [ "open-sse" @@ -5886,6 +5887,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -7951,6 +7953,17 @@ } } }, + "node_modules/next-intl/node_modules/@swc/helpers": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", + "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", + "license": "Apache-2.0", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/next/node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", diff --git a/package.json b/package.json index cd6f81782c..2fcdaa8998 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "1.6.2", + "version": "1.6.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": { diff --git a/src/lib/db/core.ts b/src/lib/db/core.ts index a9d2a5de64..459ff78932 100644 --- a/src/lib/db/core.ts +++ b/src/lib/db/core.ts @@ -334,7 +334,9 @@ export function getDbInstance() { // Check if the DB has actual data we should preserve let hasData = false; try { - const count = probe.prepare("SELECT COUNT(*) as c FROM provider_connections").get(); + const count = probe.prepare("SELECT COUNT(*) as c FROM provider_connections").get() as + | { c: number } + | undefined; hasData = count && count.c > 0; } catch { // Table might not exist at all — truly incompatible