diff --git a/CHANGELOG.md b/CHANGELOG.md index d63f2ce356..c3fc44c46e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -284,6 +284,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1004,6 +1005,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1218,6 +1224,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1228,7 +1235,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1238,7 +1245,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1282,7 +1289,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1330,6 +1337,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/changelog.d/features/8861-xiaomi-mimo-token-plan.md b/changelog.d/features/8861-xiaomi-mimo-token-plan.md deleted file mode 100644 index baeaef07dd..0000000000 --- a/changelog.d/features/8861-xiaomi-mimo-token-plan.md +++ /dev/null @@ -1 +0,0 @@ -- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default diff --git a/changelog.d/fixes/8860-tokenrefresh-projectid.md b/changelog.d/fixes/8860-tokenrefresh-projectid.md deleted file mode 100644 index 3a091523cb..0000000000 --- a/changelog.d/fixes/8860-tokenrefresh-projectid.md +++ /dev/null @@ -1 +0,0 @@ -- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 diff --git a/changelog.d/fixes/8863-firefly-gpt-image-detail-level.md b/changelog.d/fixes/8863-firefly-gpt-image-detail-level.md deleted file mode 100644 index 3a4fb7c333..0000000000 --- a/changelog.d/fixes/8863-firefly-gpt-image-detail-level.md +++ /dev/null @@ -1 +0,0 @@ -- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of diff --git a/changelog.d/fixes/8865-combo-stale-connection-cleanup.md b/changelog.d/fixes/8865-combo-stale-connection-cleanup.md deleted file mode 100644 index 8218f5cf15..0000000000 --- a/changelog.d/fixes/8865-combo-stale-connection-cleanup.md +++ /dev/null @@ -1 +0,0 @@ -- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed diff --git a/changelog.d/fixes/8866-auto-family-classification.md b/changelog.d/fixes/8866-auto-family-classification.md deleted file mode 100644 index 53ed6d5512..0000000000 --- a/changelog.d/fixes/8866-auto-family-classification.md +++ /dev/null @@ -1 +0,0 @@ -- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family diff --git a/changelog.d/fixes/xai-oauth-test-connection.md b/changelog.d/fixes/xai-oauth-test-connection.md deleted file mode 100644 index ab26ba9b20..0000000000 --- a/changelog.d/fixes/xai-oauth-test-connection.md +++ /dev/null @@ -1 +0,0 @@ -- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb diff --git a/docs/i18n/ar/CHANGELOG.md b/docs/i18n/ar/CHANGELOG.md index 57c9032620..cedb875ff6 100644 --- a/docs/i18n/ar/CHANGELOG.md +++ b/docs/i18n/ar/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/az/CHANGELOG.md b/docs/i18n/az/CHANGELOG.md index b957151535..9ab0ae0efa 100644 --- a/docs/i18n/az/CHANGELOG.md +++ b/docs/i18n/az/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/bg/CHANGELOG.md b/docs/i18n/bg/CHANGELOG.md index b957151535..9ab0ae0efa 100644 --- a/docs/i18n/bg/CHANGELOG.md +++ b/docs/i18n/bg/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/bn/CHANGELOG.md b/docs/i18n/bn/CHANGELOG.md index 6efb1f4665..9d3cd7e9bd 100644 --- a/docs/i18n/bn/CHANGELOG.md +++ b/docs/i18n/bn/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/cs/CHANGELOG.md b/docs/i18n/cs/CHANGELOG.md index cb444f67d7..bf122d5681 100644 --- a/docs/i18n/cs/CHANGELOG.md +++ b/docs/i18n/cs/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/da/CHANGELOG.md b/docs/i18n/da/CHANGELOG.md index bba4172d48..984c4c2f0f 100644 --- a/docs/i18n/da/CHANGELOG.md +++ b/docs/i18n/da/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/de/CHANGELOG.md b/docs/i18n/de/CHANGELOG.md index 535dd4cd50..b44f925802 100644 --- a/docs/i18n/de/CHANGELOG.md +++ b/docs/i18n/de/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/es/CHANGELOG.md b/docs/i18n/es/CHANGELOG.md index a6390de283..dd3284ff90 100644 --- a/docs/i18n/es/CHANGELOG.md +++ b/docs/i18n/es/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/fa/CHANGELOG.md b/docs/i18n/fa/CHANGELOG.md index 2b5731aaa1..7ce70f30ea 100644 --- a/docs/i18n/fa/CHANGELOG.md +++ b/docs/i18n/fa/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/fi/CHANGELOG.md b/docs/i18n/fi/CHANGELOG.md index 12b9c02940..95f20a75cf 100644 --- a/docs/i18n/fi/CHANGELOG.md +++ b/docs/i18n/fi/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/fr/CHANGELOG.md b/docs/i18n/fr/CHANGELOG.md index 7552398d12..84789676b3 100644 --- a/docs/i18n/fr/CHANGELOG.md +++ b/docs/i18n/fr/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/gu/CHANGELOG.md b/docs/i18n/gu/CHANGELOG.md index 80c5aba351..9f57ee0a31 100644 --- a/docs/i18n/gu/CHANGELOG.md +++ b/docs/i18n/gu/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/he/CHANGELOG.md b/docs/i18n/he/CHANGELOG.md index c60c772bfd..7dc1215cc4 100644 --- a/docs/i18n/he/CHANGELOG.md +++ b/docs/i18n/he/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/hi/CHANGELOG.md b/docs/i18n/hi/CHANGELOG.md index f3748b04c3..d838d83661 100644 --- a/docs/i18n/hi/CHANGELOG.md +++ b/docs/i18n/hi/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/hu/CHANGELOG.md b/docs/i18n/hu/CHANGELOG.md index 2b62bcd61d..529cde163b 100644 --- a/docs/i18n/hu/CHANGELOG.md +++ b/docs/i18n/hu/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/id/CHANGELOG.md b/docs/i18n/id/CHANGELOG.md index c45ba54dcf..42408b4701 100644 --- a/docs/i18n/id/CHANGELOG.md +++ b/docs/i18n/id/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/in/CHANGELOG.md b/docs/i18n/in/CHANGELOG.md index db0284db20..ca30b4d188 100644 --- a/docs/i18n/in/CHANGELOG.md +++ b/docs/i18n/in/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/it/CHANGELOG.md b/docs/i18n/it/CHANGELOG.md index e6a8597a71..3a391be27d 100644 --- a/docs/i18n/it/CHANGELOG.md +++ b/docs/i18n/it/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/ja/CHANGELOG.md b/docs/i18n/ja/CHANGELOG.md index 5ef21adfdd..716847e37e 100644 --- a/docs/i18n/ja/CHANGELOG.md +++ b/docs/i18n/ja/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/ko/CHANGELOG.md b/docs/i18n/ko/CHANGELOG.md index 6f6ccd1eb5..1f9caae4e7 100644 --- a/docs/i18n/ko/CHANGELOG.md +++ b/docs/i18n/ko/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/mr/CHANGELOG.md b/docs/i18n/mr/CHANGELOG.md index 0f652a553d..6a6a713466 100644 --- a/docs/i18n/mr/CHANGELOG.md +++ b/docs/i18n/mr/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/ms/CHANGELOG.md b/docs/i18n/ms/CHANGELOG.md index 61c96389f9..b25602730f 100644 --- a/docs/i18n/ms/CHANGELOG.md +++ b/docs/i18n/ms/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/nl/CHANGELOG.md b/docs/i18n/nl/CHANGELOG.md index 3f6844ea29..2f61e16898 100644 --- a/docs/i18n/nl/CHANGELOG.md +++ b/docs/i18n/nl/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/no/CHANGELOG.md b/docs/i18n/no/CHANGELOG.md index ffe19e77b8..0b08b93667 100644 --- a/docs/i18n/no/CHANGELOG.md +++ b/docs/i18n/no/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/phi/CHANGELOG.md b/docs/i18n/phi/CHANGELOG.md index edc7203769..bc87d83de0 100644 --- a/docs/i18n/phi/CHANGELOG.md +++ b/docs/i18n/phi/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/pl/CHANGELOG.md b/docs/i18n/pl/CHANGELOG.md index d63f2ce356..c3fc44c46e 100644 --- a/docs/i18n/pl/CHANGELOG.md +++ b/docs/i18n/pl/CHANGELOG.md @@ -284,6 +284,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1004,6 +1005,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1218,6 +1224,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1228,7 +1235,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1238,7 +1245,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1282,7 +1289,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1330,6 +1337,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/pt-BR/CHANGELOG.md b/docs/i18n/pt-BR/CHANGELOG.md index 83595783df..0339e3ac89 100644 --- a/docs/i18n/pt-BR/CHANGELOG.md +++ b/docs/i18n/pt-BR/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/pt/CHANGELOG.md b/docs/i18n/pt/CHANGELOG.md index 738dca8c9e..bee4011fc8 100644 --- a/docs/i18n/pt/CHANGELOG.md +++ b/docs/i18n/pt/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/ro/CHANGELOG.md b/docs/i18n/ro/CHANGELOG.md index 833db87086..47c4885faa 100644 --- a/docs/i18n/ro/CHANGELOG.md +++ b/docs/i18n/ro/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/ru/CHANGELOG.md b/docs/i18n/ru/CHANGELOG.md index c5c4d9bf64..0837d81484 100644 --- a/docs/i18n/ru/CHANGELOG.md +++ b/docs/i18n/ru/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/sk/CHANGELOG.md b/docs/i18n/sk/CHANGELOG.md index 2794b3c37b..b4e9299050 100644 --- a/docs/i18n/sk/CHANGELOG.md +++ b/docs/i18n/sk/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/sv/CHANGELOG.md b/docs/i18n/sv/CHANGELOG.md index ffaf50832c..bd5a1fc1f7 100644 --- a/docs/i18n/sv/CHANGELOG.md +++ b/docs/i18n/sv/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/sw/CHANGELOG.md b/docs/i18n/sw/CHANGELOG.md index c85b0a19a0..2084d13267 100644 --- a/docs/i18n/sw/CHANGELOG.md +++ b/docs/i18n/sw/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/ta/CHANGELOG.md b/docs/i18n/ta/CHANGELOG.md index 17982dfa54..a525260cc1 100644 --- a/docs/i18n/ta/CHANGELOG.md +++ b/docs/i18n/ta/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/te/CHANGELOG.md b/docs/i18n/te/CHANGELOG.md index 4657aec762..f935e7d78b 100644 --- a/docs/i18n/te/CHANGELOG.md +++ b/docs/i18n/te/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/th/CHANGELOG.md b/docs/i18n/th/CHANGELOG.md index 64b53d0bac..c2b7a4a6c0 100644 --- a/docs/i18n/th/CHANGELOG.md +++ b/docs/i18n/th/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/tr/CHANGELOG.md b/docs/i18n/tr/CHANGELOG.md index 9a814852f8..267ee5ac12 100644 --- a/docs/i18n/tr/CHANGELOG.md +++ b/docs/i18n/tr/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/uk-UA/CHANGELOG.md b/docs/i18n/uk-UA/CHANGELOG.md index fa2e4d4e4e..ae0a2e0837 100644 --- a/docs/i18n/uk-UA/CHANGELOG.md +++ b/docs/i18n/uk-UA/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/ur/CHANGELOG.md b/docs/i18n/ur/CHANGELOG.md index c2be38c2e3..fbb00d1b75 100644 --- a/docs/i18n/ur/CHANGELOG.md +++ b/docs/i18n/ur/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/vi/CHANGELOG.md b/docs/i18n/vi/CHANGELOG.md index 03d8acdbae..e155dc7484 100644 --- a/docs/i18n/vi/CHANGELOG.md +++ b/docs/i18n/vi/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/zh-CN/CHANGELOG.md b/docs/i18n/zh-CN/CHANGELOG.md index ca02f38a92..efcd0cc671 100644 --- a/docs/i18n/zh-CN/CHANGELOG.md +++ b/docs/i18n/zh-CN/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 | diff --git a/docs/i18n/zh-TW/CHANGELOG.md b/docs/i18n/zh-TW/CHANGELOG.md index b0b9c6e931..78ae7b917c 100644 --- a/docs/i18n/zh-TW/CHANGELOG.md +++ b/docs/i18n/zh-TW/CHANGELOG.md @@ -282,6 +282,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 visibility setting is available on each account in the provider detail view and does not affect routing or account activation. - docs(i18n): rewrite Russian README as a full native manual (structure aligned with modern EN/zh-CN, fixed relative asset links). +- **Providers**: adds the Xiaomi MiMo Token Plan provider and a per-connection API-protocol selector — some providers publish the same models over more than one protocol, and a connection can now pick the alternative instead of being locked to the OpenAI-compatible default ([#8861](https://github.com/diegosouzapw/OmniRoute/pull/8861)) ### ⚡ Performance - **perf(db):** project columns + composite index in getProviderConnections ([#6918](https://github.com/diegosouzapw/OmniRoute/pull/6918)) — thanks @oyi77 @@ -1002,6 +1003,11 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 - fix(auth): restore the TICK_MS constant dropped by #7719, which made initTokenHealthCheck() throw a ReferenceError at startup - fix(guardrails/chat): do not whole-request-reroute Vision Bridge away from credentialed models (e.g. combo target zai/glm-5.2 or grok-cli → opencode-zen noauth 401); align body.model with X-Route-Model so post-guardrail cannot undo the routing header - **Providers**: yuanbao-web no longer forwards a foreign single cookie pair upstream — `buildYuanbaoCookie` only trusts `hy_user`/`hy_token` extractions the input explicitly names, so a missing session token now fails fast with the local 401 guidance instead of a live Tencent round-trip +- **Antigravity**: the shared token-refresh service now recovers a missing `projectId` too — #8842 fixed the executor path, but the Dashboard and the health check refresh through `open-sse/services/tokenRefresh.ts`, which kept returning credentials with an empty project and left those accounts on 422 ([#8860](https://github.com/diegosouzapw/OmniRoute/pull/8860)) — thanks @HouMinXi +- **Adobe Firefly**: `gpt-image` requests now default `detailLevel` to maximal (5) instead of leaving the upstream default, so generations come back at the quality the model is capable of ([#8863](https://github.com/diegosouzapw/OmniRoute/pull/8863)) — thanks @artickc +- **Combos**: deleting a provider connection now clears the combo steps that referenced it — `connectionId` and `allowedConnectionIds` entries pointing at the removed connection were left behind, so combo routing kept trying a connection that no longer existed ([#8865](https://github.com/diegosouzapw/OmniRoute/pull/8865)) — thanks @HouMinXi +- **Auto routing**: `auto/` combos (`auto/glm`, `auto/gemini`, `auto/llama`, …) are recognized as built-in auto models again — the family suffix failed the category/tier parser and fell through as an unknown model instead of routing to that family ([#8866](https://github.com/diegosouzapw/OmniRoute/pull/8866)) — thanks @rafaeldrincon +- **fix(oauth):** wire Test Connection for xAI OAuth (`xai-oauth` / `xao`) so dashboard no longer returns "Provider test not supported" ([#8862](https://github.com/diegosouzapw/OmniRoute/pull/8862)) — thanks @allanvb ### 📚 Docs - **docs(quality):** codify retry policy per runner + release-level drift rule (WS5.4/WS5.5) ([#7107](https://github.com/diegosouzapw/OmniRoute/pull/7107)) @@ -1216,6 +1222,7 @@ _Living section — regenerated 2026-07-19 from all 306 cycle commits (bump 2c62 + ### 🙌 Contributors Thanks to everyone whose work landed in v3.8.49: @@ -1226,7 +1233,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@adrianaryaputra](https://github.com/adrianaryaputra) | #7928 | | [@advane204f](https://github.com/advane204f) | direct commit / report | | [@Ajeesh25353646](https://github.com/Ajeesh25353646) | #7528 | -| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814 | +| [@allanvb](https://github.com/allanvb) | #8471, #8759, #8814, #8862 | | [@alltomatos](https://github.com/alltomatos) | #6703, #6715, #6756, #6757, #6759, #6813, #6819, #6821, #7041, #7042, #7164, #7277, #7490, #7492, #7644 | | [@alvaretto](https://github.com/alvaretto) | #8077, #8161, #8170 | | [@andrea-kingautomation](https://github.com/andrea-kingautomation) | #7678 | @@ -1236,7 +1243,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@anndev-69](https://github.com/anndev-69) | direct commit / report | | [@apoapostolov](https://github.com/apoapostolov) | #8127 | | [@arpit-jaiswal-dev](https://github.com/arpit-jaiswal-dev) | #7881 | -| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006 | +| [@artickc](https://github.com/artickc) | #6763, #6955, #7204, #7696, #7768, #7896, #7900, #7911, #7930, #7994, #8006, #8863 | | [@Arul-](https://github.com/Arul-) | #7878 | | [@asynx6](https://github.com/asynx6) | direct commit / report | | [@attid](https://github.com/attid) | #6984 | @@ -1280,7 +1287,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@HassiyYT](https://github.com/HassiyYT) | #7864 | | [@heishen6](https://github.com/heishen6) | direct commit / report | | [@herjarsa](https://github.com/herjarsa) | #7612, #7625, #7633, #7869, #7871 | -| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845 | +| [@HouMinXi](https://github.com/HouMinXi) | #7035, #7129, #7290, #7398, #7408, #7973, #8842, #8845, #8860, #8865 | | [@hppsc1215](https://github.com/hppsc1215) | #7546, #8835 | | [@huohua-dev](https://github.com/huohua-dev) | #6794 | | [@hydraxman](https://github.com/hydraxman) | #7909 | @@ -1328,6 +1335,7 @@ Thanks to everyone whose work landed in v3.8.49: | [@Prudhvivuda](https://github.com/Prudhvivuda) | #8032, #8220, #8250, #8467, #8488 | | [@QRcode1337](https://github.com/QRcode1337) | #7034 | | [@quanturbo](https://github.com/quanturbo) | #6780 | +| [@rafaeldrincon](https://github.com/rafaeldrincon) | #8866 | | [@rafaumeu](https://github.com/rafaumeu) | #6813, #6979, #6982, #6983, #6987, #6988, #7001, #7808, #7815, #8071, #8113, #8179, #8184, #8185, #8190, #8195, #8196, #8203 | | [@RaviTharuma](https://github.com/RaviTharuma) | #7852, #7853, #7855, #7862, #7885, #7972, #7978, #8021, #8022, #8023, #8025, #8027, #8030, #8102, #8124 | | [@RCrushMe](https://github.com/RCrushMe) | #8151 |