This release includes 2 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+7 more
Summary
AI summaryRenamed _CLAUDE_MODELS to _CLAUDE_CHEAP_MODELS, excluded Opus and expanded hard cap logic to block all Claude models.
Full changelog
Key Fixes
1. Claude Opus Cost Misclassification
- Problem: Expensive Claude Opus ($15/1M) was incorrectly promoted to the front of routing chains when subscription quota was available
- Root Cause:
_CLAUDE_MODELSfrozenset included both cheap models (Haiku/Sonnet at $3/1M) and expensive Opus - Fix: Renamed to
_CLAUDE_CHEAP_MODELSand excluded Opus entirely. Hard cap logic (≥99% pressure) now blocks ALL Claude models, not just cheap ones
2. Test Environment Isolation (no_providers_env Fixture)
- Problem: Tests expecting zero configured providers were picking up Ollama from .env files
- Root Cause:
monkeypatch.delenvwasn't enough because Pydantic Settings reads from both env vars AND .env files - Fix: Create a minimal mock config object that bypasses file-based configuration entirely
Changes
- src/llm_router/profiles.py: Renamed
_CLAUDE_MODELS→_CLAUDE_CHEAP_MODELS, removed Opus, updated hard cap logic - src/llm_router/router.py: Enhanced QUOTA_BALANCED logging with provider priority indicators
- tests/conftest.py: Improved no_providers_env fixture with manual config mocking
Test Status
✅ Core router tests: 100% passing (25+ tests)
✅ Codex routing tests: 100% passing in isolation (3 tests)
✅ test_no_providers_configured: Now passing
⚠️ Full suite: Environment isolation issues with pre-existing shared state (affects Codex routing tests only when run with full suite)
Availability
📦 PyPI
🐙 GitHub Release
Breaking Changes
- Renamed `_CLAUDE_MODELS` to `_CLAUDE_CHEAP_MODELS` and removed Opus from the set
- Hard cap logic now blocks all Claude models (previously only cheap ones) when quota pressure ≥99%
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About ypollak2/llm-router
Subscription-aware LLM router for Claude Code. Routes tasks to 20+ providers (OpenAI, Gemini, Groq, Ollama, Codex) based on complexity classification, Claude subscription pressure, and cost. Free tasks stay on Claude subscription; expensive tasks fall back to the cheapest capable model. Includes 30 MCP tools, 6 auto-routing hooks, semantic dedup cache, prompt caching, daily spend cap, and a live web dashboard.
Related context
Related tools
Beta — feedback welcome: [email protected]