diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e7211c727..db3b5f7bb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ --- +## [3.4.4] - 2026-04-02 + +### 🐛 Bug Fixes + +- **Responses API Token Reporting:** Emit `response.completed` with correct `input_tokens`/`output_tokens` fields for Codex CLI clients, fixing token usage display (#909 — thanks @christopher-s). +- **SQLite WAL Checkpoint on Shutdown:** Flush WAL changes into the primary database file during graceful shutdown/restart, preventing data loss on Docker container stops (#905 — thanks @rdself). +- **Graceful Shutdown Signal:** Changed `/api/restart` and `/api/shutdown` routes from `process.exit(0)` to `process.kill(SIGTERM)`, ensuring the shutdown handler runs before exit. +- **Docker Stop Grace Period:** Added `stop_grace_period: 40s` to Docker Compose files and `--stop-timeout 40` to Docker run examples. + +### 🛠️ Maintenance + +- Closed 5 resolved/not-a-bug issues (#872, #814, #816, #890, #877). +- Triaged 6 issues with needs-info requests (#892, #887, #886, #865, #895, #870). +- Responded to CLI detection tracking issue (#863) with contributor guidance. + +--- + ## [3.4.3] - 2026-04-02 ### ✨ New Features diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 4f1fbee775..cda13bece2 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: title: OmniRoute API - version: 3.4.3 + version: 3.4.4 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/electron/package.json b/electron/package.json index 3815c0297d..ffc5dd34de 100644 --- a/electron/package.json +++ b/electron/package.json @@ -1,6 +1,6 @@ { "name": "omniroute-desktop", - "version": "3.4.3", + "version": "3.4.4", "description": "OmniRoute Desktop Application", "main": "main.js", "author": { diff --git a/open-sse/package.json b/open-sse/package.json index 4c50cb2474..9e0fc4a499 100644 --- a/open-sse/package.json +++ b/open-sse/package.json @@ -1,6 +1,6 @@ { "name": "@omniroute/open-sse", - "version": "3.4.3", + "version": "3.4.4", "description": "Express SSE sidecar for OmniRoute — handles streaming, protocol translation, and provider orchestration", "type": "module", "main": "index.js", diff --git a/package-lock.json b/package-lock.json index 62259c21c3..48738e2f77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "omniroute", - "version": "3.4.3", + "version": "3.4.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "3.4.3", + "version": "3.4.4", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -21068,7 +21068,7 @@ }, "open-sse": { "name": "@omniroute/open-sse", - "version": "3.4.3" + "version": "3.4.4" } } } diff --git a/package.json b/package.json index a7296f56b5..790ca29f0b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "omniroute", - "version": "3.4.3", + "version": "3.4.4", "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": {