Commit Graph

3332 Commits

Author SHA1 Message Date
Ronaldo Davi
129b05741c feat(i18n): Complete and fix Brazilian Portuguese (pt-BR) translation (#2543)
feat(i18n): Complete pt-BR translation — integrated into release/v3.8.2
2026-05-21 23:14:42 -03:00
diegosouzapw
46adf35500 chore(repo): untrack _ideia/ — private draft dir, local-only repo
_ideia/ holds feature-triage drafts and is already matched by the /_*/
gitignore rule (like _tasks/). It was tracked from before that rule existed;
this removes the 66 files from the index (kept on disk) so they stop syncing
to OmniRoute. Managed locally as its own isolated git repo.
2026-05-21 23:09:31 -03:00
Gi99lin
7215731444 refactor(dashboard): Provider Quota grouped layout with vertical rail (#2528)
Integrated into release/v3.8.2 (#2528 — thanks @Gi99lin)
2026-05-21 23:04:59 -03:00
Diego Rodrigues de Sa e Souza
aa6278da08 Merge pull request #2495 from diegosouzapw/worktree-fix-batch-v3.8.2-r3
fix: bug-fix batch round 3 (#2469, #2470, #2468, #2467, #2480, #2483)
2026-05-21 23:04:57 -03:00
diegosouzapw
29c12f029f Merge remote-tracking branch 'origin/worktree-fix-batch-v3.8.2-r3' into worktree-fix-batch-v3.8.2-r3 2026-05-21 23:03:48 -03:00
diegosouzapw
7049246411 Merge remote-tracking branch 'origin/release/v3.8.2' into worktree-fix-batch-v3.8.2-r3
# Conflicts:
#	CHANGELOG.md
#	tests/unit/translator-openai-to-gemini.test.ts
2026-05-21 22:57:56 -03:00
Diego Rodrigues de Sa e Souza
a1f14a76aa Merge pull request #2535 from diegosouzapw/fix/bugfix-batch-v3.8.2-r5
fix: bug-fix batch round 5 (#2504, #2515, #2520)
2026-05-21 22:53:37 -03:00
HALDRO
99c3cc6f16 fix(combo): detect invalid model errors via structured error codes + regex fallback (#2534)
Integrated into release/v3.8.2 (#2534 — thanks @HALDRO)
2026-05-21 22:49:05 -03:00
Diego Rodrigues de Sa e Souza
292d36b7a9 Merge pull request #2474 from Tentoxa/fix/memory-system-role-semantic-passthrough
fix: extract system role messages in semantic passthrough path to prevent 400 on memory injection
2026-05-21 22:48:45 -03:00
diegosouzapw
9f47cccccf Merge remote-tracking branch 'origin/release/v3.8.2' into fix/memory-system-role-semantic-passthrough
# Conflicts:
#	open-sse/executors/claudeIdentity.ts
#	open-sse/handlers/chatCore.ts
2026-05-21 22:43:52 -03:00
diegosouzapw
e70b276b30 docs(changelog): record STORAGE_ENCRYPTION_KEY DATA_DIR/guard fix (#1622) 2026-05-21 22:18:21 -03:00
diegosouzapw
04d8884e09 fix(cli): persist STORAGE_ENCRYPTION_KEY in DATA_DIR + guard against destructive regen (#1622)
The CLI key bootstrap wrote to ~/.omniroute/.env ignoring DATA_DIR, so users with a
custom DATA_DIR (incl. Docker-style setups) lost the key across restarts. It also
regenerated a fresh key whenever STORAGE_ENCRYPTION_KEY was unset — even when an encrypted
storage.sqlite already existed — locking users out. Now writes to DATA_DIR and refuses to
auto-generate when a database is already present (mirrors server bootstrapEnv guard).
Reported by Daniel Nach; original key persistence by @Chewji9875.
2026-05-21 22:17:22 -03:00
diegosouzapw
2c24265783 docs(changelog): record #2504, #2515, #2520 fixes 2026-05-21 20:31:59 -03:00
diegosouzapw
83ba78cbcd fix(gemini): re-attach thoughtSignature (#2504) + normalize PDF content parts (#2515)
#2504: thread _signatureNamespace through the FORMATS.GEMINI and FORMATS.GEMINI_CLI
request translators so a cached Gemini thoughtSignature is re-attached to the
functionCall on the follow-up turn (was 400 'missing thought_signature').
#2515: accept input_file (Responses API) on the Gemini path and document (Gemini-style)
on the Responses/Codex path so PDFs reach the model regardless of content-part name.
2026-05-21 20:30:40 -03:00
diegosouzapw
50d549ac4e fix(stream): count thinking/reasoning_details as useful stream output (#2520) 2026-05-21 20:29:20 -03:00
Diego Rodrigues de Sa e Souza
a886f09b3d Merge pull request #2533 from diegosouzapw/fix/release-v3.8.2-prep
fix(release): repair broken v3.8.2 release-prep (providers.ts build + CHANGELOG/version/i18n)
2026-05-21 19:48:36 -03:00
diegosouzapw
7dc5c1f6d2 fix(release): repair v3.8.2 release-prep — providers.ts syntax + CHANGELOG/i18n/version sync
- providers.ts: close the unterminated `dify` APIKEY_PROVIDERS entry (Wave-1b #2488
  merge artifact) that broke the entire build (esbuild 'Expected }').
- CHANGELOG.md: restore the `# Changelog` header and an empty `[Unreleased]` section
  (docs-sync requires the first section to be Unreleased); remove the duplicated
  `[3.8.1]` block.
- Bump package.json / electron / open-sse / openapi.yaml to 3.8.2 to match the
  CHANGELOG release header.
- Mirror the `[3.8.2]` section into all 41 i18n CHANGELOGs so docs-sync passes.

Unblocks all commits on release/v3.8.2-based branches.
2026-05-21 19:37:54 -03:00
diegosouzapw
7977d57efc docs(changelog): add round-3 PR entries (5 PRs merged) 2026-05-21 18:27:25 -03:00
Mr. Meowgi
d99b98b20d fix(deepseek-web): fix SSE parser, prompt format, and error handling (#2502)
fix(deepseek-web): fix SSE parser, prompt format, and error handling — integrated into release/v3.8.2
2026-05-21 18:25:52 -03:00
Paijo
85c1d02b3f feat: cloud agents UX, skills fixes, memory stats, docs packaging (#2516)
feat: cloud agents UX, skills fixes, memory stats, docs packaging — integrated into release/v3.8.2
2026-05-21 18:24:17 -03:00
Apostol Apostolov
aa72129f64 feat(hermes): Add rich multi-role Hermes Agent support (#2526)
feat(hermes): Add rich multi-role Hermes Agent support — integrated into release/v3.8.2
2026-05-21 18:23:58 -03:00
M.M
fb83be9311 feat(authz): manage-scope API keys may reach /api/mcp/* from non-loopback (#2473)
feat(authz): manage-scope API keys may reach /api/mcp/* from non-loopback — integrated into release/v3.8.2
2026-05-21 18:23:39 -03:00
diegosouzapw
f2ce32aa8b docs(changelog): add round-2 PR entries (8 PRs merged) 2026-05-21 18:15:04 -03:00
Paijo
0498b77004 feat(providers): add 14 free-tier providers — Chinese regional + dev tools (Wave 1b) (#2488)
Integrated into release/v3.8.2
2026-05-21 18:13:15 -03:00
Gi99lin
1f2d1fdbf2 fix(i18n): add missing dashboard keys and fix EN fallbacks (#2500)
Integrated into release/v3.8.2
2026-05-21 18:11:58 -03:00
InkshadeWoods
1f8b41bc23 fix(i18n): translate 830 missing zh-CN UI strings (#2523)
Integrated into release/v3.8.2
2026-05-21 18:10:32 -03:00
Hernan Javier Ardila Sanchez
32804f2a43 fix(opencode-zen): add 'opencode' provider alias and sync model list with live API (#2517)
Integrated into release/v3.8.2
2026-05-21 18:10:17 -03:00
Container
c293bc773d fix(kiro): replace broken social OAuth with device flow (#2471) (#2524)
Integrated into release/v3.8.2
2026-05-21 18:09:20 -03:00
Hernan Javier Ardila Sanchez
caefdfa971 fix(handler): capture Gemini thought_signature in non-streaming response path (#2504) (#2518)
Integrated into release/v3.8.2
2026-05-21 18:09:15 -03:00
Hernan Javier Ardila Sanchez
ae73b90280 fix(handler): always normalize system role messages in claude passthrough paths (#2468) (#2519)
fix(handler): always normalize system role messages in claude passthrough paths — integrated into release/v3.8.2
2026-05-21 18:08:54 -03:00
Hernan Javier Ardila Sanchez
a2efaf384c fix(cost): prevent double-billing of cache_creation_input_tokens (#2522)
fix(cost): prevent double-billing of cache_creation_input_tokens — integrated into release/v3.8.2
2026-05-21 18:07:29 -03:00
diegosouzapw
2fc8f9e9b9 docs(changelog): add complete v3.8.2 release notes with 13 contributor credits 2026-05-21 16:10:35 -03:00
diegosouzapw
933858e1bd chore: ignore .claude/worktrees from tracking 2026-05-21 16:02:35 -03:00
diegosouzapw
e79e8f3f07 fix(opencode-zen): add 'opencode' provider alias + resolve conflicts (#2508) 2026-05-21 16:02:25 -03:00
diegosouzapw
7cbb51d132 fix: resolve merge conflict with release/v3.8.2 (usage.ts test exports) 2026-05-21 15:59:12 -03:00
Paijo
c78a267044 feat(providers): add 7 free-tier providers (Wave 1) (#2479)
Integrated into release/v3.8.2
2026-05-21 15:54:00 -03:00
Hernan Javier Ardila Sanchez
c38e407e4d fix(vision-bridge): auto-route non-standard provider models through OmniRoute self-loop (#2487)
Integrated into release/v3.8.2
2026-05-21 15:53:55 -03:00
ucloudnb666
45b17e957c feat: add Astraflow provider support (global + China endpoints) (#2486)
Integrated into release/v3.8.2
2026-05-21 15:53:50 -03:00
Paijo
ad99e34f25 fix(providers): add claude-web + make gitlawb/gitlawb-gmi optional (#2476)
Integrated into release/v3.8.2
2026-05-21 15:53:31 -03:00
Hernan Javier Ardila Sanchez
3cbe57a8c7 fix(mitm): add IPv6 DNS redirect, modular antigravity target, improved logging (#2514)
Integrated into release/v3.8.2
2026-05-21 15:53:26 -03:00
Gi99lin
4e476b3fdd fix(usage): improve Claude and MiniMax plan label detection (#2498)
Integrated into release/v3.8.2
2026-05-21 15:53:03 -03:00
NMI
c361b3ca02 fix(codex): fan out image n requests in parallel (#2499)
Integrated into release/v3.8.2
2026-05-21 15:52:58 -03:00
Halil Tezcan KARABULUT
01c5d5c7b7 fix: extract system/developer messages in Claude Code semantic passthrough paths (#2497)
Integrated into release/v3.8.2
2026-05-21 15:52:53 -03:00
Leonid Bondarenko
731e766136 fix(embeddings): strip stale Content-Encoding headers from upstream response (#2477)
Integrated into release/v3.8.2
2026-05-21 15:52:34 -03:00
Hernan Javier Ardila Sanchez
8d43cbd53c fix(model): return clear error instead of silent openai default for unrecognized models (#2492)
Integrated into release/v3.8.2
2026-05-21 15:52:28 -03:00
Apostol Apostolov
7be33531b2 fix(dark-mode): correct background token on Compression Override select (#2513)
Integrated into release/v3.8.2
2026-05-21 15:52:23 -03:00
Automation
07df7c8e43 fix(opencode-zen): add 'opencode' provider alias and sync model list with live API
OpenCode's Zen provider changed its slug from 'opencode-zen' to 'opencode',
breaking OmniRoute's provider resolution when users reference models with the
new prefix (e.g. 'opencode/deepseek-v4-flash-free').

Changes:

1. open-sse/services/model.ts: Add manual ALIAS_TO_PROVIDER_ID entry
   mapping 'opencode' → 'opencode-zen' so parseModel() resolves
   correctly for model strings using the new slug.

2. open-sse/executors/index.ts: Register 'opencode' as an OpencodeExecutor
   alias for 'opencode-zen' so getExecutor() returns the correct executor.

3. open-sse/config/providerRegistry.ts: Update opencode-zen model list to
   match the live API at https://opencode.ai/zen/v1/models:
   - Add deepseek-v4-flash-free (the model users reported as broken)
   - Add all 30+ models from the API (Claude, GPT, Gemini, Grok, GLM,
     MiniMax, Kimi, Qwen series)
   - Apply targetFormat: 'claude' to qwen3.5-plus (same SSE bug as qwen3.6)
   - Remove ling-2.6-1t-free and trinity-large-preview-free (no longer in API)
   - Enable passthroughModels so new models work without code deploys

4. @omniroute/opencode-provider/src/index.ts: Remove broken reference to
   undefined OMNIROUTE_DEFAULT_MODEL_CONTEXT_LENGTHS constant.

5. tests/unit/opencode-executor.test.ts: Add tests for opencode alias,
   deepseek-v4-flash-free routing, and model registry presence.
2026-05-21 20:03:45 +02:00
ivan_yakimkin
953a754057 fix(antigravity): improve plan label fallback per review
Prefer persisted tier when live subscription maps to an unknown label,
and only return mapped tier IDs from extractCodeAssistTierId. Add
regression test for fallback from providerSpecificData.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-21 19:41:45 +03:00
Diego Rodrigues de Sa e Souza
3e84b81f6f Merge pull request #2494 from herjarsa/fix/combo-skip-log-message
fix(combo): clarify log message when combo target is skipped due to unavailable credentials
2026-05-21 11:44:44 -03:00
ivan_yakimkin
636d4c44fc refactor(antigravity): address PR review on tier extraction and usage cache
Simplify onboard tier ID fallback and reuse subscription lookup in error path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-21 17:39:20 +03:00