This release adds 5 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+7 more
ReleasePort's take
Light signalReleasePort Layer 1 v11.0.0 adds several new observability and routing features (e.g., surface_status, summary metrics, classification module) plus bug‑fixes for profile handling; it also introduces optional environment variables for configuration.
Why it matters: New off‑by‑default observability endpoints enable health monitoring and performance reporting; the added signal handling routes PII prompts locally. Bug fixes resolve empty base‑chain and ambiguous reorder tier issues, improving reliability of subscription‑based routing profiles.
Summary
AI summaryNew additive observability and routing features are introduced, all off‑by‑default.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds `llm_router.observability.surface_status` for router health indication. Adds `llm_router.observability.surface_status` for router health indication. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds `llm_router.observability.summary` providing session-end usage and performance metrics. Adds `llm_router.observability.summary` providing session-end usage and performance metrics. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds `llm_router.classify` module exposing deterministic signal scorer. Adds `llm_router.classify` module exposing deterministic signal scorer. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds `RoutingProfile.SUBSCRIPTION_LOCAL` for cost‑inverted routing based on subscription status. Adds `RoutingProfile.SUBSCRIPTION_LOCAL` for cost‑inverted routing based on subscription status. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Low |
Adds `llm_router.signals` with `PiiSignal` and `force_local_for_pii` to route PII prompts locally only. Adds `llm_router.signals` with `PiiSignal` and `force_local_for_pii` to route PII prompts locally only. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Dependency | Low |
Introduces optional env vars: `LLM_ROUTER_SUBSCRIPTION_PROVIDER`, `LLM_ROUTER_INTERNAL_PROVIDERS`, `LLM_ROUTER_SUBSCRIPTION_PRESSURE_THRESHOLD`, `LLM_ROUTER_SUBSCRIPTION_REORDER_ALL_PROFILES`, `LLM_ROUTER_STATE_DIR`, `LLM_ROUTER_INDICATOR`. Introduces optional env vars: `LLM_ROUTER_SUBSCRIPTION_PROVIDER`, `LLM_ROUTER_INTERNAL_PROVIDERS`, `LLM_ROUTER_SUBSCRIPTION_PRESSURE_THRESHOLD`, `LLM_ROUTER_SUBSCRIPTION_REORDER_ALL_PROFILES`, `LLM_ROUTER_STATE_DIR`, `LLM_ROUTER_INDICATOR`. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Fixes empty base chain bug in `SUBSCRIPTION_LOCAL`/`QUOTA_BALANCED` profile. Fixes empty base chain bug in `SUBSCRIPTION_LOCAL`/`QUOTA_BALANCED` profile. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Fixes ambiguous reorder tier when seat provider is also in free bucket. Fixes ambiguous reorder tier when seat provider is also in free bucket. Source: llm_adapter@2026-07-16 Confidence: high |
— |
Full changelog
Ports a wave of routing + observability capabilities into llm-router. Everything new is additive and off-by-default where it touches routing, so existing setups behave identically until opted in.
Added
llm_router.observability.surface_status— cross-surface "router is working" status line / terminal title / OS notification (stdlib-only, fail-soft) for hosts without a native statusline.llm_router.observability.summary— session-end summary overusage.db: savings vs baseline, tier mix, per-provider cost, latency p50/p95/p99, top routes.render_markdown()+ optional richrender().llm_router.classify— the deterministic signal scorer extracted into an importable module (classify_signals), so the router/gateway/tools can classify at 0 cost/latency. Byte-identical to the hook, drift-guarded.RoutingProfile.SUBSCRIPTION_LOCAL— cost-inverted routing for "one paid seat + free local bucket": free-first for simple/moderate, seat-first for complex, seat demoted when its quota is strained. No-op unlessLLM_ROUTER_SUBSCRIPTION_PROVIDERis set.llm_router.signals—PiiSignal+force_local_for_pii: a prompt containing a secret routes to local models only, fail-closed so it never reaches an external API.
Changed
- Docs restructure.
docs/is now gitignored (local notes) except the CI-generateddocs/BENCHMARKS.md. README media →assets/readme/, public pages →guide/. External links todocs/*.mdshould move toguide/*.md.
Config
New optional env vars: LLM_ROUTER_SUBSCRIPTION_PROVIDER, LLM_ROUTER_INTERNAL_PROVIDERS, LLM_ROUTER_SUBSCRIPTION_PRESSURE_THRESHOLD, LLM_ROUTER_SUBSCRIPTION_REORDER_ALL_PROFILES, LLM_ROUTER_STATE_DIR, LLM_ROUTER_INDICATOR.
Tests & audit
97 new tests; full suite green (0 failures/errors). A pre-release audit caught and fixed two real bugs: an empty base chain for the explicit SUBSCRIPTION_LOCAL/QUOTA_BALANCED profile, and an ambiguous reorder tier when the seat provider was also in the free bucket.
Full details: CHANGELOG.md · pip install -U llm-routing
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]