What's New
✨ New Features (PRs #363, #365)
- strict-random strategy — Fisher-Yates shuffle deck with anti-repeat & mutex serialization
- API key controls — allowedConnections, is_active, accessSchedule, autoResolve
- Connection groups — Environment grouping in Limits with accordion UI + localStorage persistence
- External pricing sync — LiteLLM 3-tier resolution (opt-in via
PRICING_SYNC_ENABLED=true) - i18n — 30 languages updated; pt-BR fully translated
🐛 Bug Fixes
- #355 — Stream idle timeout 60s → 300s (prevents aborting thinking models, configurable via
STREAM_IDLE_TIMEOUT_MS) - #350 — Combo test bypasses
REQUIRE_API_KEY=truevia internal header; uses OpenAI-compat format universally - #346 — Tools with empty
function.namefiltered before forwarding to upstream
🗑️ Closed
- #341 — Debug section consolidated into /dashboard/logs and /dashboard/health