Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
881f593
chore: bump version to 3.7.0
diegosouzapw Apr 20, 2026
77f326e
fix(dashboard): correct TOML round-trip corruption in codex config se…
benzntech Apr 20, 2026
d6cbdc1
feat: add ModelScope provider with circuit breaker and daily quota lo…
clousky2020 Apr 20, 2026
333f0b9
chore(release): v3.7.0 — all changes in ONE commit
diegosouzapw Apr 20, 2026
bfe6415
chore(workflow): clarify release version parity and changelog segrega…
diegosouzapw Apr 20, 2026
9311f2a
docs(changelog): add missing security fixes 163 and 164 to 3.7.0 notes
diegosouzapw Apr 20, 2026
bd5dd7c
docs(i18n): improve Ukrainian (uk-UA) translation quality
andruwa13 Apr 20, 2026
a2a7eb5
docs(i18n): fix Ukrainian translation issues from PR review
andruwa13 Apr 20, 2026
3245779
Apply suggestion from @gemini-code-assist[bot]
andruwa13 Apr 20, 2026
eaa74af
Merge remote-tracking branch 'origin/docs/uk-ua-translation-improveme…
andruwa13 Apr 20, 2026
b38e57d
refactor: unify resilience controls (#1449)
rdself Apr 21, 2026
1d3d99b
fix(combo): resolve cross-provider thinking 400 and http clipboard (#…
diegosouzapw Apr 21, 2026
20f0457
fix: resolve skills, memory, and encryption system issues (#1456)
oyi77 Apr 21, 2026
ceca26a
fix(encryption): return null on decryption failure to prevent sending…
oyi77 Apr 21, 2026
496114a
fix(sse): enable tool calling for GPT OSS and DeepSeek Reasoner model…
Tasogarre Apr 21, 2026
d19b8d8
deps: bump the production group with 4 updates (#1463)
dependabot[bot] Apr 21, 2026
9754b04
deps: bump the development group with 4 updates (#1464)
dependabot[bot] Apr 21, 2026
cde6f56
Merge release/v3.7.0 into translation branch and resolve conflicts
diegosouzapw Apr 21, 2026
0c24ab4
✅ test(settings-api): add test harness for proper isolation
clousky2020 Apr 20, 2026
3478dea
♻️ refactor(fallback): make provider failure thresholds configurable
clousky2020 Apr 20, 2026
a389f26
fix(fallback): merge new provider failure threshold fields in profile
clousky2020 Apr 20, 2026
0d86244
fix: address PR review comments
clousky2020 Apr 20, 2026
3834768
feat(providers): add lm studio and grok 4.3 support
diegosouzapw Apr 21, 2026
f651a27
🐛 fix(providers): add optional chaining to connection object
clousky2020 Apr 21, 2026
96d0f57
feat: auto-inject stream_options.include_usage for OpenAI format stre…
diegosouzapw Apr 21, 2026
25e22df
chore(release): v3.7.0 — finalization
diegosouzapw Apr 21, 2026
1dae161
Merge remote-tracking branch 'origin/release/v3.7.0' into release/v3.7.0
diegosouzapw Apr 21, 2026
76b0f07
Merge pull request #1473 from clousky2020/provider
diegosouzapw Apr 21, 2026
03769eb
feat: add support for OpenAI batch processing
hartmark Apr 21, 2026
3502c5a
fix(fallback): use shared CircuitBreaker instead of undefined constan…
clousky2020 Apr 21, 2026
9cd36af
fix(codex): preserve namespace MCP tools forwarded to Codex Responses…
vanminhph Apr 21, 2026
de1bea8
fix: deduplicate case-variant anthropic-version header in Claude Code…
uwuclxdy Apr 21, 2026
495ca29
docs: add Arch Linux AUR install notes (#1478)
JasonLandbridge Apr 21, 2026
0d852ab
fix: restore local test fixes for encryption and resilience
diegosouzapw Apr 21, 2026
2e36599
fix: resolve code rebase issues
hartmark Apr 21, 2026
b925be2
fix: update prompt injection test for fail-closed policy
diegosouzapw Apr 21, 2026
b709dca
feat(vision-bridge): add automatic image description fallback for non…
herjarsa Apr 21, 2026
8bb1c83
chore: merge release/v3.7.0
diegosouzapw Apr 21, 2026
56608a4
feat(ui): add batch processing dashboard page and translations
diegosouzapw Apr 21, 2026
0937c5a
chore(release): v3.7.0 — final integration of batch ui and versions
diegosouzapw Apr 21, 2026
a7d30d9
test: isolate batch API unit tests with temp DATA_DIR to prevent sche…
diegosouzapw Apr 21, 2026
098639e
fix: add batch item dispatching to specific handlers based on URL (#1…
hartmark Apr 22, 2026
98c5b25
refactor: implement path utilities, add custom date formatting, impro…
diegosouzapw Apr 21, 2026
a7b6dfb
chore: apply PR 1495 and update changelog
diegosouzapw Apr 22, 2026
1ef3544
fix(release): resolve combo prefixing, electron packaging, and CLI au…
diegosouzapw Apr 22, 2026
7549a68
feat(release): implement Hermes CLI config and message content stripp…
diegosouzapw Apr 22, 2026
f804a5f
Add search in the providers page (#1511)
th-ch Apr 22, 2026
9bd7cb7
feat(opencode-go): register 6 missing models from upstream catalog (#…
kang-heewon Apr 22, 2026
d99cf63
fix(logs): add periodic runtime log rotation check (#1504)
ether-btc Apr 22, 2026
66bf805
bug: fixes Error: Cannot find module 'process/' #1507 (#1509)
hartmark Apr 22, 2026
128f242
Feature/OpenAI batching gui (#1500)
diegosouzapw Apr 22, 2026
d539a21
fix(ui): add dark mode support for native dropdown options (#1488)
diegosouzapw Apr 22, 2026
d52a5af
docs: update changelog with recent PR merges for v3.7.0
diegosouzapw Apr 22, 2026
fe09fe4
fix: Strip reasoning_content from OpenAI format messages for non-reas…
diegosouzapw Apr 22, 2026
16b0499
fix(api): harden batch and file endpoints for auth and recovery
diegosouzapw Apr 22, 2026
331e1b7
feat(usage): MiniMax + MiniMax-CN quota tracking in provider limits d…
prakersh Apr 22, 2026
fff025c
Fix OpenRouter remote discovery and unify managed model sync (#1521)
rdself Apr 23, 2026
7388623
fix(combo): fallback to next model on all-accounts-rate-limited 503 (…
diegosouzapw Apr 23, 2026
bdfcec7
feat: provider/account 단위 동시성 cap 추가
kang-heewon Apr 23, 2026
0f95330
fix: address PR review feedback — stream semaphore release, key scope…
kang-heewon Apr 23, 2026
2a58543
fix(sse): map Claude output_config/thinking to OpenAI reasoning_effor…
inkOrCloud Apr 23, 2026
6b86fb9
docs: document maxConcurrent in OpenAPI schema
diegosouzapw Apr 23, 2026
1568c53
Resolve conflicts with release/v3.7.0
diegosouzapw Apr 23, 2026
34bdd1e
Merge pull request #1524 from kang-heewon/provider-account-concurrenc…
diegosouzapw Apr 23, 2026
c5dcf35
chore(release): update changelog and docs for v3.7.0 finalization
diegosouzapw Apr 23, 2026
a42ef13
fix: normalize Anthropic header keys to lowercase in provider registry
prakersh Apr 23, 2026
05005ac
chore(agents): remove obsolete workflow playbooks
diegosouzapw Apr 23, 2026
4746863
feat(dashboard): expand observability and provider tooling
diegosouzapw Apr 23, 2026
9a8404b
fix(evals): persist run history and secure eval management routes
diegosouzapw Apr 23, 2026
01dd72c
feat(dashboard): add custom CLI builder and eval suite management
diegosouzapw Apr 23, 2026
968cbfe
fix(providers): support local OpenAI-style endpoints without auth
diegosouzapw Apr 23, 2026
4057fe5
feat(providers): add new OpenAI-compatible gateway providers
diegosouzapw Apr 23, 2026
e2469b8
feat(providers): add amazon-q and specialty model provider support
diegosouzapw Apr 23, 2026
3a0bc95
feat(providers): add GitLab Duo, NLP Cloud, and enterprise gateways
diegosouzapw Apr 24, 2026
c656123
feat(video): support Runway task-based generation and provider catalo…
diegosouzapw Apr 24, 2026
80e3858
feat(providers): add Empower and Poe gateway support
diegosouzapw Apr 24, 2026
b10b724
Fix Codex auto-review model routing (#1551)
Tr0sT Apr 24, 2026
78531fe
fix(reasoning): preserve chat effort and protocol labels (#1550)
rdself Apr 24, 2026
a972293
fix(resilience): route 429 cooldowns through settings (#1548)
rdself Apr 24, 2026
4f6f97b
feat: add expert combo configuration mode (#1547)
rdself Apr 24, 2026
76e34f0
fix: remove stale compiled dataPaths.js artifact (#1541)
huzaifaalmesbah Apr 24, 2026
7073928
chore: add .tmp/ to .gitignore (#1538)
huzaifaalmesbah Apr 24, 2026
5b8e41c
docs: fix broken documentation links in README and i18n (#1536)
huzaifaalmesbah Apr 24, 2026
1b84c04
fix: normalize Anthropic header keys to lowercase in provider registr…
prakersh Apr 24, 2026
15b4a54
fix(claude): preserve tool_result adjacency (#1555)
congvc-dev Apr 24, 2026
35c29fa
feat(sse): Codex CLI image_generation + DALL-E-style image route (#1544)
payne0420 Apr 24, 2026
619d8c9
docs: update CHANGELOG for PRs 1544 and 1555
diegosouzapw Apr 24, 2026
7d34b6a
feat(providers): add AWS Polly and Lemonade provider support
diegosouzapw Apr 24, 2026
7ed15c7
fix(ui): mobile layout and dark mode FOUC stabilization
diegosouzapw Apr 24, 2026
5b5e21a
fix: resolve v3.7.0 stabilization issues (#1566, #1560, #1559)
diegosouzapw Apr 24, 2026
31acf52
fix(claude): skip adaptive thinking defaults for unsupported models (…
congvc-dev Apr 24, 2026
c9aef0e
feat(codex): support GPT-5.5 responses websocket (#1573)
be0hhh Apr 24, 2026
1e60f0c
chore: update CHANGELOG.md with PRs 1573, 1571, 1563
diegosouzapw Apr 24, 2026
af5d800
fix(vision-bridge): force GPT-family image fallback (#1571)
congvc-dev Apr 24, 2026
0e15988
feat(providers): register codex auto review and expand icon coverage
diegosouzapw Apr 24, 2026
1f962a2
fix(mitm): harden packaged runtime and privileged command execution
diegosouzapw Apr 25, 2026
f4d3cf3
test(next): align transpile package expectation
diegosouzapw Apr 25, 2026
57b926f
fix(api): validate route payloads for release checks
diegosouzapw Apr 25, 2026
eada132
fix(providers): type provider helpers for strict checks
diegosouzapw Apr 25, 2026
f5df0d3
fix(build): include wreq-js native assets in standalone
diegosouzapw Apr 25, 2026
872e597
fix(codex): update client version for gpt-5.5 (#1578)
DavyMassoneto Apr 25, 2026
e64dc3b
fix(sse): make Responses passthrough robust for size-sensitive client…
vanminhph Apr 25, 2026
9eac8c2
feat(provider): add Baidu Qianfan chat provider (#1582)
jimmyzhuu Apr 25, 2026
43d7f0c
docs: update CHANGELOG for merged PRs 1578, 1580, 1582
diegosouzapw Apr 25, 2026
e4a27c4
fix(ui, providers): resolve #1579 and #1556 bugs
diegosouzapw Apr 25, 2026
8684d43
feat(providers): add AgentRouter support and per-model health checks
diegosouzapw Apr 25, 2026
299793e
feat: add ChatGPT Web (Plus/Pro) session provider
Apr 25, 2026
fc80a98
chatgpt-web: address PR #1593 review feedback
Apr 25, 2026
1dd7ec9
chatgpt-web: fold history into system message to fix turn concatenation
Apr 25, 2026
a5be284
[Improvement] Fix Providers Default models list (Done) (#1577)
backryun Apr 25, 2026
3478ac6
Fix Codex Responses WebSocket memory retention and weekly limit handl…
diegosouzapw Apr 25, 2026
50097b1
feat(providers): integrate ChatGPT Web provider (#1593)
diegosouzapw Apr 25, 2026
d403186
fix(compression): implement bidirectional tool_pair cleaning for anth…
diegosouzapw Apr 25, 2026
35a1f6a
chatgpt-web: address PR #1593 review round 2 (#1596)
payne0420 Apr 25, 2026
99331f7
chatgpt-web: address PR #1596 review feedback (#1597)
payne0420 Apr 25, 2026
a42da2a
docs(changelog): add PR #1597 chatgpt-web bug fixes (empty-file race …
diegosouzapw Apr 25, 2026
e766fb1
chore(release): consolidate v3.7.0 changelog entries
diegosouzapw Apr 25, 2026
7775c8c
fix(api): validate codex websocket bridge payload
diegosouzapw Apr 25, 2026
cb4ad33
fix(api): harden model tests and metadata reads
diegosouzapw Apr 25, 2026
1f66b67
🌐 i18n(en, zh-CN): sync keys and complete translations (#1600)
clousky2020 Apr 25, 2026
17b5a85
fix(env-repair): replace dynamic import with static to fix prod build…
jeanfbrito Apr 25, 2026
9325553
fix(providers): navigate to node detail after creating compatible nod…
jeanfbrito Apr 25, 2026
1beb372
docs: update changelog with PRs 1600-1603
diegosouzapw Apr 25, 2026
604d55e
fix(cli): align OpenCode config preview and add multi-model selection…
JasonLandbridge Apr 25, 2026
ce9dc8e
fix(security): resolve vulnerability scan findings
diegosouzapw Apr 25, 2026
f9e799d
fix(security): harden management API auth and openapi try proxy
diegosouzapw Apr 25, 2026
94ae0f1
Squashed commit of the following:
diegosouzapw Apr 25, 2026
fa8ca5d
feat(providers): add CrofAI as a built-in API-key provider (#1604)
jeanfbrito Apr 25, 2026
3dba954
fix(i18n): translate 519 untranslated pt-BR keys — PR #1602 regressio…
diegosouzapw Apr 25, 2026
d9120c7
fix(i18n): add missing dashboard message keys across locales
diegosouzapw Apr 25, 2026
b9c20b2
fix(tailscale): support sudo auth and live daemon socket detection
diegosouzapw Apr 26, 2026
1e9e6d4
fix(dashboard): stabilize usage tab loading and refresh behavior
diegosouzapw Apr 26, 2026
df76aae
fix(cli-tools): preserve TOML integer/boolean types in Codex config r…
diegosouzapw Apr 26, 2026
13495d4
feat(providers): wire CrofAI /usage_api/ into quota preflight, monito…
jeanfbrito Apr 26, 2026
8a8fcc7
feat(chatgpt-web): image generation + edit (Open WebUI compatible) (#…
payne0420 Apr 26, 2026
091b123
fix(docs): improve docs provider layout and fix missing i18n keys
diegosouzapw Apr 26, 2026
a6c9625
chore(release): finalize changelog and update any-budget for imageGen…
diegosouzapw Apr 26, 2026
77373ef
fix(i18n): add missing Windsurf/Cline/Kimi docs keys and sync changel…
diegosouzapw Apr 26, 2026
3547258
feat(skills): add workspace-scoped builtins with sandbox execution
diegosouzapw Apr 26, 2026
abaf2e9
ci: trigger clean CI run for release/v3.7.0
diegosouzapw Apr 26, 2026
72afe8f
fix: resolve CI-only test failures from environment differences
diegosouzapw Apr 26, 2026
ead269d
fix: clear INITIAL_PASSWORD and JWT_SECRET in integration tests
diegosouzapw Apr 26, 2026
6dc5bb9
docs(release): refresh v3.7.0 docs for expanded provider and MCP counts
diegosouzapw Apr 26, 2026
e30b706
Merge remote-tracking branch 'origin/main' into release/v3.7.0
diegosouzapw Apr 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
182 changes: 0 additions & 182 deletions .agents/workflows/fix-ci.md

This file was deleted.

27 changes: 0 additions & 27 deletions .agents/workflows/fix-cli-node22-ts-entrypoint.md

This file was deleted.

34 changes: 24 additions & 10 deletions .agents/workflows/generate-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,19 @@ Before creating the release, you must ensure the codebase and supply chain are s
git checkout -b release/v2.x.y
```

### 2. Determine new version
### 2. Determine and sync version

Check current version in `package.json` and increment the **patch** number only:
Check current version in `package.json`:

```bash
grep '"version"' package.json
```

Version format: `2.x.y` — examples:

- `2.1.2` → `2.1.3` (patch)
- `2.1.9` → `2.1.10` (patch)
- `2.1.10` → `2.2.0` (minor threshold — do manually with `sed`)
> **🔴 BRANCH-VERSION PARITY RULE**: The logical version in `package.json` MUST exactly match the release branch name. For example, if you are on `release/v3.7.0`, the version in `package.json` MUST be `3.7.0`.
>
> - If this is the FIRST time generating a release for a new minor/major branch (e.g., bumping from 3.6.9 to 3.7.0), you MUST ensure the version is bumped to match the new branch logic.
> - If you are just bumping a patch on the current branch (e.g., 3.6.9 to 3.6.10), use:
> `npm version patch --no-git-tag-version`

> **⚠️ ATOMIC COMMIT RULE — Version bump MUST happen before committing feature files.**
>
Expand Down Expand Up @@ -97,15 +97,29 @@ npm install

### 4. Finalize CHANGELOG.md

Replace `[Unreleased]` header with the new version and date.
Keep an empty `## [Unreleased]` section above it.
> **🔴 NO MIXUPS RULE**: Ensure you do NOT mix the backlog of the previous version with the new one. The new version section must ONLY contain the features and fixes for the current release.

Replace the `[Unreleased]` header with the new version and date.
Keep an empty `## [Unreleased]` section above it, separated by a horizontal rule (`---`).

```markdown
## [Unreleased]

---

## [2.x.y] — YYYY-MM-DD
## [3.7.0] — 2026-04-19

### ✨ New Features

- ...

### 🐛 Bug Fixes

- ...

---

## [3.6.9] — 2026-04-19
```

### 5. Update openapi.yaml version ⚠️ MANDATORY
Expand Down
27 changes: 26 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,24 @@ CLOUD_URL=
# Default: http://localhost:20128
NEXT_PUBLIC_BASE_URL=http://localhost:20128

# Browser-facing OmniRoute origin for generated assets in API responses.
# Used by: chatgpt-web image generation cache URLs (/v1/chatgpt-web/image/<id>).
# Set this when OpenWebUI or another relay reaches OmniRoute by an internal URL
# but the user's browser must fetch images from a LAN, tunnel, or public origin.
# Do not include /v1; if included accidentally it will be normalized away.
# OMNIROUTE_PUBLIC_BASE_URL=http://192.168.0.15:20128

# Max wait time for an async chatgpt-web image to land via the celsius
# WebSocket, in milliseconds. Default 180000 (3 minutes). Increase during
# upstream queue-deep windows ("Lots of people are creating images right now").
# OMNIROUTE_CGPT_WEB_IMAGE_TIMEOUT_MS=180000

# Total in-memory byte budget for the chatgpt-web image cache (used to serve
# /v1/chatgpt-web/image/<id>), in megabytes. Default 256. Lower this if you
# run OmniRoute on a memory-constrained host; raise it if image generation
# is heavy and clients are racing the 30-minute TTL.
# OMNIROUTE_CGPT_WEB_IMAGE_CACHE_MAX_MB=256

# Public cloud URL — client-side mirror of CLOUD_URL.
NEXT_PUBLIC_CLOUD_URL=

Expand Down Expand Up @@ -261,6 +279,7 @@ NEXT_PUBLIC_ENABLE_SOCKS5_PROXY=true
# Used by MCP server, A2A skills, and CLI sidecars to call the running instance.

# Explicit base URL for MCP/A2A tools to reach OmniRoute (overrides localhost auto-detect).
# For browser-visible generated image URLs, prefer OMNIROUTE_PUBLIC_BASE_URL above.
# Used by: open-sse/mcp-server/server.ts, src/lib/a2a/
# OMNIROUTE_BASE_URL=http://localhost:20128

Expand Down Expand Up @@ -404,7 +423,7 @@ QODER_OAUTH_CLIENT_SECRET=4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW
# Update these when providers release new CLI versions to avoid blocks.

CLAUDE_USER_AGENT=claude-cli/1.0.83 (external, cli)
CODEX_USER_AGENT=codex-cli/0.92.0 (Windows 10.0.26100; x64)
CODEX_USER_AGENT=codex-cli/0.125.0 (Windows 10.0.26100; x64)
GITHUB_USER_AGENT=GitHubCopilotChat/0.26.7
ANTIGRAVITY_USER_AGENT=antigravity/1.104.0 darwin/arm64
KIRO_USER_AGENT=AWS-SDK-JS/3.0.0 kiro-ide/1.0.0
Expand Down Expand Up @@ -536,6 +555,12 @@ APP_LOG_TO_FILE=true
# Default: 20
# APP_LOG_MAX_FILES=20

# How often OmniRoute checks whether the active log file has exceeded
# APP_LOG_MAX_FILE_SIZE and triggers a rotation. Set lower for very verbose
# services to prevent log files from growing large between checks.
# Accepts milliseconds. Default: 60000 (1 minute)
# APP_LOG_ROTATION_CHECK_INTERVAL_MS=60000

# Days to keep request/call log entries in the database before auto-cleanup.
# Default: 7
# CALL_LOG_RETENTION_DAYS=7
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/build-fork.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Build Fork Image (ghcr.io)

on:
workflow_dispatch:

permissions:
contents: read
packages: write

jobs:
build:
name: Build and Push to ghcr.io
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: fix/claude-thinking-mapping

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4

- name: Login to GitHub Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
target: runner-base
platforms: linux/amd64
push: true
tags: |
ghcr.io/inkorcloud/omniroute:fix-claude-thinking-mapping
ghcr.io/inkorcloud/omniroute:latest
cache-from: type=gha
cache-to: type=gha,mode=max
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ docs/*
!docs/screenshots/
!docs/i18n/
!docs/i18n/**
!docs/features/
!docs/features/**
!docs/A2A-SERVER.md
!docs/AUTO-COMBO.md
!docs/MCP-SERVER.md
Expand All @@ -116,6 +118,7 @@ test-results/
playwright-report/
blob-report/
cloud/
.tmp/

# Security Analysis (standalone project with own git)
security-analysis/
Expand Down Expand Up @@ -176,3 +179,6 @@ bin/omniroute.mjs
.omc/
audit-report.json
bun.lock

# Private environment variables for .http-client
http-client.private.env.json
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# @lobehub/icons declares UI peers that are not needed by our deep icon imports.
# Keeping peer auto-install disabled prevents npm from pulling @lobehub/ui/mermaid
# back into the tree and reopening npm audit findings for unused packages.
legacy-peer-deps=true
Loading
Loading