You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changelog
Highlights
Failover is now load balancing (#788, #813). Virtual models replace failover rules: one name routes to weighted targets under a round_robin, cost, or failover strategy, with chaining. Existing failover rules are auto-migrated on startup into managed virtual models with identical behavior — no action needed.
Model allowlists (#804, #812). Per-user-path and per-key allowed_models with inheritance down the user tree; denied requests return model_access_denied. GET /v1/models now returns only the models the caller can access.
Breaking
Admin API: virtual-model responses now use a targets[] array instead of separate provider/model fields (#788). Update automation reading /admin/virtual-models.
Features
26cd11d feat(failover): make retry statuses, error phrases, and max attempts configurable (#798)
7017707 feat(models): add option to list bare model IDs at GET /v1/models (#796)
244b4c8 feat(telemetry): move OpenTelemetry export into open-core (#802)
6262598 feat(users): per-user-path and per-key model allowlists (#804)
66c0334 feat(virtualmodels): chain virtual models and fold failover into load balancing (#788)
Bug Fixes
082ce27 fix(elevenlabs): request pcm_24000 for pcm speech output (#787)
2b24098 fix(models): scope GET /v1/models by the user-path header (#812)
0e86972 fix(passthrough): retain models from uncaptured opaque bodies (#795)
42a2df5 fix(responses): always emit annotations on output_text parts (#807)
31f5668 fix(server): accept only plain-token client request IDs and resolve code-scanning alerts (#799)
154d399 fix(virtualmodels): do not chain through a redirect that shadows its own source (#813)
Performance
b2559f2 perf(auditlog): store captured bodies as raw JSON instead of decoded maps (#793)
26a1414 perf(gateway): cut per-request allocations on the inference hot path (#792)