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
Proxy Client Authentication & Path Security (#680, #687, #690): Enforce fail-closed Bearer client authentication on /v1/memory and /v1/audio (ROUTER_API_KEY, LITELLM_MASTER_KEY, GATEWAY_KEY, MEMORY_API_KEY). Eliminate double-encoded path traversal attacks (%252e%252e%252f) via iterative decoding, preserve exact root URLs, and redirect stdio MCP diagnostics in memory_mcp.py to sys.stderr.
Parallel Startup Model Registration & Atomic Swap (#681, #688, #690): Concurrently register OpenRouter and Ollama model rosters at startup with asyncio.Semaphore(10), defensive dictionary lookups, and atomic in-memory roster swap into _registered_free_models.
Visualizer UX Accessibility (#682, #686, #690): Migrate Clear Annotation action to semantic <button type="button">, WCAG AA contrast ratio compliance, and focus-visible indicators.
Chat Streaming Normalization & Tests (#683, #685, #690): Parse standard message payloads and streaming SSE delta chunks while preserving token boundary whitespaces and indentation.
High-Performance Annotations Cache (#684, #689, #690): Read raw async bytes with orjson deserialization, freshness invalidation tracking st_ino, st_mtime_ns, and st_size, with immediate cache eviction on decode failure to prevent persistent cache poisoning.
Quality Gates & Test Coverage: 100.00% statement and branch coverage gate maintained across 878 unit tests and 319 integration tests, clean ruff and mypy static analysis.