# Changelog

The major capability waves that make up TokenTriage today, by theme, from the trust dashboard and provider breadth through caching, governance and LLM judges.

Source: https://tokentriage.com/docs/reference/changelog

---
import Callout from '../../../components/Callout.astro';

TokenTriage has grown in capability waves. This page summarizes what each wave added, by
theme; dated release notes are published on this page.

<Callout type="note">
Capabilities are described here as they exist in the product's code and canonical docs.
Exact release versions and dates are published on this page with each release.
</Callout>

## The trust dashboard

The embedded, self-contained SPA on the admin plane — the same numbers as the CLI, with
honesty on every pixel: the typed `Money` component with pricing provenance, the `EST` flag,
UNPRICED as an excluded slice, the realtime Live feed, provider-bill reconciliation, budgets
and alerting, the `robust-seasonal-v1` anomaly detector, and demo mode. See
[The trust dashboard](/docs/build/dashboard).

## Provider breadth

The August 24 catalog snapshot had a total of 92; its driver count was 11.
The current catalog carries 95 built-in provider descriptors over 15 wire-dialect
drivers, so adding an OpenAI-compatible upstream is N+1-by-config. The generated matrix names the
test behind each gated cell and prints the ungated ones rather than hiding them, ten descriptors
having none; the tests that do exist run against mocks rather than live endpoints. A driver is
counted where an `internal/dialect`
package name equals the dialect id a descriptor names. Azure, Bedrock (SigV4 + binary
event-stream), and Gemini/Vertex land here, along with opt-in cross-dialect translation and an
async poller that settles a submitted job's cost on a second ledger row. See
[Providers](/docs/build/providers).

## The routing policy language

A typed, deterministic policy language with a first-class explanation on every decision —
five node kinds, a frozen condition language, and the strategy recipes. A legacy
`routing.rules` config desugars to it and decides byte-identically. See
[The routing policy language](/docs/build/policy-language).

## Response & semantic caching

An LLM-router cache that is off by default, shadow-first, byte-faithful, and costed rather
than zeroed, with air-gapped exact/normalized tiers and an opt-in, bounded semantic tier whose
savings are licensed by evidence. See [Response caching](/docs/build/caching).

## Virtual keys & governance

Minted virtual keys and per-tenant budgets, quotas, rate, and concurrency limits, built so a
refusal can never lie — `row == wire`, fail-open with disclosure, and a shadow-first
enablement ladder, with an opt-in distributed tier for multi-replica coordination. See
[Governance](/docs/build/governance).

## LLM judges

A model that grades output, and the machinery that grades the grader. A judge's verdicts land on
the ledger at `reported` basis, carrying a disclosure that names the model, the prompt version and
whatever validation stands behind it. Cohen's kappa against a human gold set, inter-annotator
agreement measured on the overlap, and a position-swap gate together decide whether a judge subject
promotes, and a promotion is what lifts the ceilings holding its figures at `reported`. Panels vote
across model families under a same-family refusal; a verdict the method cannot settle is counted as
an abstention with its own named reason rather than averaged into a pass rate. See
[LLM judges](/docs/judges/overview).

---

The complete, versioned history — including the compatibility guarantees re-proven each
release — is published on this page as release notes.
