> For the complete documentation index, see [llms.txt](https://docs.revenium.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.revenium.io/get-started/changelog.md).

# Changelog

### 2.24.0 (October 9, 2026)

#### AI coding assistants

* **PR Health** — see which pull requests are aging or stalled and the coding-assistant spend behind work that has not merged, by engineer or department, and dismiss work that should leave the active queue, or snooze it until a date you choose. Dismissed and snoozed pull requests are available from the queue switch. Send a weekly digest of your team's queue to Slack channels or email addresses, so managers act on stalled work before its spend is lost. See [PR Health](/track-and-control-costs/analyze-ai-tooling-spend/pr-health.md).
* **AI spend by engineering ticket** — the Tickets page shows what each ticket cost in AI assistant spend, the people and models behind it, and the spend not yet tied to a ticket. Track what it costs to deliver a ticket today, so you can forecast the cost of future work. A session that spans several tickets can be attributed to each of them, and a team that has not sent a ticket yet sees how tickets reach Revenium, with the first results appearing as they arrive. See [Tickets](/track-and-control-costs/analyze-ai-tooling-spend/tickets.md).
* **A new Claude Code page** — see what Claude Code costs, what it produces and what to change this week across Overview, People and Seats & plan, with conversation depth, reasoning effort by person or department, findings for each department, and a Seats & plan tab where you set your plan tiers and see seat spend. See [Claude Code](/track-and-control-costs/analyze-ai-tooling-spend/setup-claude-code/claude-code.md).
* **A new Claude Cowork page** — see Cowork spend by person and by department, with findings for each department and each person's own history, so you can see who to help first. See [Claude Cowork](/track-and-control-costs/analyze-ai-tooling-spend/setup-claude-cowork/claude-cowork.md).
* **Seat-plan and pay-per-use spend kept apart from the start** — when your team connects a coding assistant it is asked once whether that assistant is paid per seat or per use, so real charges count as spend and seat-covered usage shows as an estimate. See [Coding assistant billing models](/track-and-control-costs/analyze-ai-tooling-spend/configure-coding-assistant-billing-models.md).
* **Clearer code host connections** — a GitLab username maps to its person whatever its capitalisation, and when an IP allow list on your GitHub enterprise or organization blocks Revenium, connecting GitHub says so and links to the addresses to add. See [Network requirements](/track-and-control-costs/analyze-ai-tooling-spend/github-integration.md#network-requirements).

#### Departments

* **See every department and who is in it** — administrators see each department with its headcount and can find any person across the whole directory. See [Attribute spend to departments](/track-and-control-costs/attribute-spend-to-departments.md).
* **Keep department rosters current, from today or from a date you choose** — import a CSV as your full list so anyone not in it leaves their department, or apply the changes from a date or from the beginning, with a per-person preview of the usage that moves, a confirmation before past reports change, and an import history you can undo. See [Correct past departments](/track-and-control-costs/attribute-spend-to-departments.md#correct-past-departments).

#### Cost controls and alerts

* **Set a budget for a department** — watch or cap metered AI usage for one department and its sub-departments, or give each department an independent limit with one Guardrail, and a budget that names a department outside its team is refused with a message asking you to choose one of the team's own departments. See [Attribute spend to departments](/track-and-control-costs/attribute-spend-to-departments.md).
* **Find any warning or block** — administrators can search Guardrails History and narrow it to one person, to warnings or blocks, to live or simulated enforcement, and to a date range. See [Cost controls](/track-and-control-costs/cost-controls.md).
* **Be warned before a limit is reached, at the point you choose** — on a spend rule that enforces a hard stop, administrators can set the early warning at any percentage of its limit and see the dollar amount it stands for.
* **See each alert's state and scope** — the Guardrails list and each alert's page say Firing while an alert is active, and each budget card names what the budget is limited to.
* **Faster Slack and webhook setup** — Connect Slack on the Integrations page takes you straight to Slack and back, and Send Test Event on a webhook channel returns its result within seconds.
* **A spend cap's page follows its period** — weekly caps show activity from their whole window, and monthly caps from up to the newest 30 days of theirs.

#### Providers and billing

* **Know which figures are final** — you can see when recent days on a provider's dashboard may still change on that provider's invoice, and a billing sync finishes only when each connected account has, showing each account's result. See [Provider integrations](/integrations/provider-integrations.md).
* **Connect Google Cloud with a checklist** — the Google Cloud connection form lists what to set up first and takes your key file directly.
* **Anthropic API and Claude Enterprise as separate connections** — the Anthropic connection form says which key each plan takes and what each key leaves out, warns when the key you paste does not match the plan you chose, and a team with only one of the two connected is prompted to connect the other key.
* **Provider names match in any letter case** — usage sent as OpenAI, openai or OPENAI is recorded as one provider from this release, and spend rules and pricing match a provider whatever its letter case.

#### Transactions and logs

* **Download the transaction log for the window you need** — the Logs page downloads text-completion transactions as a CSV for a time window you choose, and a download or scheduled export says when its file holds only part of the requested data. See [Debug logs and traces](/optimize-performance/debug-logs-and-traces.md).
* **See what a media call was billed for** — opening an image, video or audio transaction shows the kind of operation and the unit it was billed in.
* **Move from logs to transactions and traces** — transaction ids in system log messages link to the transaction, and a job's detail lists the traces it produced.

#### Analytics and ROI

* **Analytics API reference, with cost by department** — stable page links, a description of what each call and parameter returns, and department cost for your own reporting. See the [API reference](https://revenium.readme.io).
* **ROI by job type** — the ROI dashboard compares value and cost across your job types. See [ROI and unit economics](/track-and-control-costs/analyze-roi-and-unit-economics.md).
* **Chart a department's spend** — Chart Builder can focus a chart on one department, split it across that department's child departments, and keep that view when you save the chart. See [Build custom dashboards and charts](/track-and-control-costs/build-custom-dashboards-and-charts.md).
* **Pick your own date range** — the date picker lists Custom range alongside the preset ranges and guides you through choosing a start day and then an end day, and on a phone it opens as a sheet with Quick ranges and Custom range tabs.

#### Insights

* **New detectors keep Insights current with the latest models** — model advice points teams on older models to their current successors, and upgrade recommendations and their savings are based on what a team used recently. See [AI Insights](/optimize-performance/ai-insights.md).
* **See what Insights analysed** — Insights states which spend it analysed, runs every cost check, and names a provider price increase when one is behind a change.

#### Accounts and access

* **A new Settings page that is easier to navigate** — Settings lives in the main sidebar, and its pages use the full width of the screen. See [Personalize your workspace](/get-started/personalize-your-workspace.md).
* **Staying signed in** — a person whose session refreshes stays on the page they were reading.

### 2.23.0 (September 24 to October 2, 2026)

#### API rate limits

* **A per-API-key ceiling now applies at the edge of the REST API** — from 25 September 2026, each API key is limited to 300 requests per trailing 60 seconds on `/profitstream/` endpoints, answered with `429` and `Retry-After: 60`, in addition to the per-account application buckets. See [Rate Limits](/integrations/rate-limits.md) for how to tell the two layers apart and how to request more.

#### Providers and billing

* **OpenRouter connections now ask for the one key that returns billing data** — connecting OpenRouter takes a provisioning key, which OpenRouter also calls a management key, and a standard inference key is refused when you connect rather than saved as a credential that reports nothing. A personal OpenRouter account can create one; a Team or Enterprise plan is not required. If you connected before this change and your sync reports a missing provisioning key, open the credential and save one to fix it. See [Provider Integrations](/integrations/provider-integrations.md).
* **Time windows cover the period they name** — Provider Comparison's "Last 24 hours" view reports the last twenty-four hours, so its spend agrees with what the AI Assistants pages show for the same period, and the 6- and 12-month presets and shared links keep the window you chose.
* **See the state of every provider connection in one place** — Provider Comparison lists each provider account you have connected, its sync state, and the date its data currently reaches.
* **Invoiced spend no longer drops for viewers west of UTC** — the billing window closes at the present moment, so a late-in-the-day view outside Europe shows the same invoiced total as everyone else.
* **Comparisons say when invoiced and metered cover different days** — Provider Comparison names the days both figures share, offers to compare the matching days when it can, and marks a change whose earlier period was only partly metered.
* **Smoother Azure Enterprise Agreement imports** — daily Azure costs come in more dependably, including for larger and more complex Enterprise Agreement setups.
* **Claude Enterprise charges carry the product they were billed under** — spend arriving from a Claude Enterprise agreement is attributed to the right product rather than sitting unplaced.
* **Claude Cowork can be tracked as a subscription** — Cowork is accepted as a subscription provider alongside the other seat-based assistants. See [Setup Claude Cowork](/track-and-control-costs/analyze-ai-tooling-spend/setup-claude-cowork.md).
* **Azure AI Foundry spend files under its Azure account** — reconciliation and the provider comparison now agree on the same figure.
* **Rate cards catch unpriceable traffic before you save** — pricing forms refuse discounted cards whose dimensions do not match the traffic, distinguish a blank from a deliberate zero, and confirm which traffic legs will be free.

#### AI coding assistants

* **See which repositories your AI-assisted work lands in** — open a person's details on the Claude Code page or on AI by Employee to see their merged pull requests grouped by repository. Available for GitHub-connected workspaces. See [GitHub Integration](/track-and-control-costs/analyze-ai-tooling-spend/github-integration.md).
* **One person, one row** — a developer who appears under more than one identity can be merged into a single person, including a Copilot developer recorded under a code-host handle.
* **People lists count people** — bot accounts stay out of the headcount, so the lists show the humans using your AI tools.
* **More Claude Code activity is matched to the work that produced it** — calls that previously could not be tied back to a session are recognised. See [Setup Claude Code](/track-and-control-costs/analyze-ai-tooling-spend/setup-claude-code.md).
* **GitHub Copilot: quicker setup and fuller spend** — connecting Copilot offers a link that creates the GitHub token with the required read-only access already selected, the Copilot page breaks invoiced spend down by model, and Copilot spend appears on AI by Employee and the Daily AI Spend chart. See [Setup GitHub Copilot](/track-and-control-costs/analyze-ai-tooling-spend/setup-copilot.md).
* **AI Assistants pages open on your data from the first day** — a workspace with less than 30 days of AI assistant activity opens By Employee, Claude Code, Claude Cowork, Cursor, Gemini, Codex and Copilot on the period its data covers, starting from the first day it arrived. A date range you choose, and the default view for workspaces with longer history, stay as they are.
* **By Employee keeps working through partial data** — if one part of the By Employee page cannot load, the rest of the page still shows, and requests interrupted by a dropped connection are retried automatically.
* **Create GitHub connection tokens for the right organization** — when connecting GitHub or GitHub Copilot, enter your organization before opening the token creation link; the setup accepts an organization URL or handle.

#### Cost controls and alerts

* **Every enforcement event says what the rule counted** — when a spend rule blocks or warns, the event records who or what the rule counted, and the request and model behind it when they were sent. Filter the list to one person, one day, or real blocks only. See [Cost Controls](/track-and-control-costs/cost-controls.md).
* **A spend rule gets its own tabs** — Overview, People and Events sit over each rule, so the people a rule covers and the events it has produced each have their own place and their own address.
* **No late warnings** — an administrator is no longer warned that someone is approaching a limit they have already passed.
* **Enforcement notifications arrive reliably** — every enforcement notification type now delivers.
* **Alerts say when they were detected** — an alert now states its detection time and whether it includes activity from before the rule existed, and the links in Slack and email open the alert history already filtered to it.
* **Guardrails shows every cost control on your team** — warning-only controls appear alongside your other controls, with editing choices suited to how they work.

#### Insights

* **Model recommendations now cover your coding assistants** — upgrade findings reach coding-assistant traffic billed at API rates, such as Claude Code, Codex CLI and Gemini CLI, price cached input alongside fresh tokens, and include Google's models with meaningful saving estimates. See [AI Insights](/optimize-performance/ai-insights.md).
* **Recommendations point at current models by name** — upgrade advice names the current target clearly, including the newest Claude families, and retains the model reference needed to act on it.
* **Insights recommends current OpenAI and Gemini models** — recommendations can point from GPT-5.6 Sol to GPT-6 Sol, from GPT-5.6 Luna to GPT-6 Luna, and from Gemini 3.7 Flash to Gemini 3.8 Flash.

#### Accounts and access

* **Find all settings in one place** — the Settings area brings workspace and personal options together, showing each person the sections their access allows.
* **Create a subscription from an organization** — an organization's Subscriptions tab and a New subscription action in the credential form open the same create dialog, with the option to notify the subscriber.
* **More control over usage-based billing** — account administrators can manage usage-based billing for their account from Settings.
* **Easier to read in light and dark mode** — pages, cards, the sidebar and helper text stand apart clearly in both themes.
* **Search inside dropdowns** — most data-driven pickers across the product now accept typing to narrow them, and long option lists stay inside the window.
* **Large workspaces load** — Directory Setup, the chart builder's filter picker and the tool event log open for workspaces with long AI histories.
* **Pages say when they are still loading** — a page waiting on a large query shows a notice while its first data arrives.
* **Team Settings for single-team workspaces** — a workspace with one team finds **Team Settings** under Settings and in the command palette, to rename the team and see the AI usage reported under it.
* **The team switcher shows only your named teams** — the team switcher lists the teams you belong to by name.
* **Each account keeps its own profile when you sign in from another tab** — signing in to a different account in a second tab leaves each account's name as it was.
* **Department reports follow assignments over time** — department usage is counted where each person belonged when it happened, including after a transfer or departure.
* **Take people out of a department** — in Departments, **Remove** a person who has left and their usage up to then stays on the department, or **Delete** a mistaken upload and their usage moves to People without a department.
* **Departments is the name across the workspace** — Settings, directory setup, reports, chart controls and public API paths use Departments and department fields.
* **Department names stay distinct** — departments under the same parent use unique names regardless of capitalization, and names are cleaned as you enter them.

#### Analytics and ROI

* **Image, video and audio spend counts in ROI** — work that produced media is valued alongside text in the return-on-investment figures. See [Analyze ROI & Unit Economics](/track-and-control-costs/analyze-roi-and-unit-economics.md).
* **Cost exports meet the FOCUS specification more closely** — charge classification in the FOCUS export follows the specification exactly. See [Export Cost & Usage Data (FOCUS)](/optimize-performance/export-cost-and-usage-data.md).
* **Dashboard charts load independently** — a chart that cannot load is shown on its own card while the other charts on the dashboard remain available.

### 2.21.0 - 2.22.0 (August 29 to September 9, 2026)

#### Providers and billing

* **Enhanced provider comparisons** — a set of improvements makes the comparison data easier to read and more useful.
* **Clearer reporting for AI accounts on seat plans** — for an account you pay for by seat, the reports now state more clearly which charges are metered but not billed at API rates. See [Configure AI Assistant Pricing Mode](/track-and-control-costs/analyze-ai-tooling-spend/configure-coding-assistant-billing-models.md).
* **Improved invoiced-versus-metered reconciliation** — each provider's invoiced spend is broken out by charge type, and any spend that could not be placed is listed with the reason. Cursor charges now show base cost and discount beside the amount charged.
* **Azure Cost Management setup improvements** — the documentation for Azure connections now covers complex Enterprise Agreement configurations. See [Provider Integrations](/integrations/provider-integrations.md).

#### AI coding assistants

* **Connect GitHub Copilot from the Provider dashboard** — Copilot connects and collects like any other provider, and per-developer Copilot spend appears on its own dashboard tab. See [Setup GitHub Copilot](/track-and-control-costs/analyze-ai-tooling-spend/setup-copilot.md).
* **Cursor integration now provides enriched billing data** — Revenium's cursor integration now provides transactional level data, with spending by engineer and by model. See [Setup Cursor](/track-and-control-costs/analyze-ai-tooling-spend/setup-cursor.md).
* **Pull-request reporting for every supported coding assistant** — the pull-request columns now appear on every supported coding assistant tab rather than on Claude Code alone.
* **More engineers are matched to their code-host accounts automatically** — better Git-to-engineer identity mapping leaves fewer users unmapped.
* **Cache-write costs match those shown in transaction details** — a bug that let two parts of the application disagree on cache costs in certain situations is fixed.
* **The AI Transaction Log shows which skill ran each transaction** — add the Skill and Skill Marketplace columns from Manage Columns to see which skill produced a row, and where that skill came from, without opening the detail panel.
* **The Skills page combines duplicate skills** — a skill that appears in more than one catalog, such as a user-level skill that is also a marketplace skill, is now shown on a single row. A new spend-in-skill-sessions figure shows how many of the workspace's sessions skills cover. Invocations are split between calls made inside another skill and runs with no start record, and the page explains how spend is attributed to skills.

#### Cost controls and alerts

* **Reliability improvements** — several small bugs caused by rounding errors are fixed, and interface changes make alert creation easier. See [Set Budgets & Alerts](/track-and-control-costs/set-budgets-and-alerts.md).
* **One budget or alert filter row can name several values at once** — pick "Is one of" to cover a set of models or providers in a single row rather than writing one rule per value. See [Set Budgets & Alerts](/track-and-control-costs/set-budgets-and-alerts.md).

#### Insights

* **Several improvements that make AI Insights smarter** — a narrow set of misleading savings opportunities is now filtered out of results, along with other small fixes. See [AI Insights](/optimize-performance/ai-insights.md).

#### Accounts and access

* **A signup on a domain your workspace already uses can join your workspace** — the person raises a join request, and an administrator approves it and chooses the role they get.

### 2.20.0 (August 27, 2026)

* **Enhanced AWS Bedrock support** — Claude Code spend billed through your own Bedrock account is now counted and priced at your own rates where you've filed them with us, otherwise at list price, and included in spend alerts. An Enterprise capability; contact us for more information.
* **Claude purchased through Azure Marketplace is now captured** — that spend flows into your billing and analytics automatically.
* **Spot context waste before it shows up on the bill** — a new Insights finding flags agents and jobs that pull far more context than the work needs, and estimates the cost, without reading prompts.
* **See each person's context cost on the Claude Code dashboard** and how it compares to the team, so context bloat is visible before it grows.
* **Compare cost per pull request across vendors** — the Comparison table now breaks cost per merged pull request out by vendor, for vendors whose tools sign their commits.
* **Traces now sit alongside your logs** — a tab on the Logs page, and the cost, performance, and efficiency views export to CSV.
* **Richer coding-assistant economics** — vendor rate benchmarks and billed token rates.
* **Insights you can act on** — recommendations weigh every connected source, and say why a finding cannot become an alert.
* **Smarter first visit** — an empty dashboard explains what to connect, with sample previews.
* **Skills and Tools filtering** — by person, with filters that persist in the page URL.
* **Clearer alerts** showing which capabilities each provider supports.
* Custom prices set on a standard model can now be removed.
* Spend that a provider cannot attribute to a person is now shown rather than hidden.
* Improved Chart Builder reliability with custom date ranges, retry-rate accuracy, and table paging and sorting.

### 2.19.0 (August 13, 2026)

* **Skills & Tools** — A new page under AI Assistants showing which Claude Code skills your teams use, what each one costs, and how adoption is trending over time.
* **Redesigned Performance → Tasks tab** — A volume overview, trend, concentration breakdown and per-task-type performance table, with a drill-in for any task type.
* **Record why a job failed or was cancelled** — agents and SDKs can now report the reason a run failed or was cancelled through the platform's job-tracking API. The reason is stored with the job and appears in the failed-tasks view as your agents begin reporting it.
* **Insights notification settings** — On the Insights page, choose which webhook channels receive notifications when a run completes, partially completes, or fails, and when recommendation feedback is recorded.
* **Search the GitHub PRs and GitLab MRs member tables** — Filter by username or mapped email. Also fixes the pager landing on a blank page when a filter narrows the list.
* **Read-only accounts can manage their own password and timezone** — Previously locked along with every other profile field.
* **Track agentic jobs** — Report job outcomes, amendments and history through our SDK or the public job-tracking API.
* **Integration sync health** — GitHub and GitLab connections now show their sync status with a sync-log view, and missing permissions are caught when you connect instead of failing silently later.
* **Claude Enterprise support** — Connect Claude Enterprise organizations using a tightly-scoped analytics API key — no full-permissions key required. Revenium detects your plan from the key and tailors the setup guidance to match.
* **GitHub connections now use least-privilege access** — Connecting GitHub requires only a read-only, fine-grained token; write permissions are never requested. A pre-filled token link makes setup take under a minute.
* Anthropic costs now reflect the vendor's later revisions to a day's usage, rather than the first reading standing as final.
* Fixed a bug with cached token counting for some requests.
* Fixed subscriber-scoped Guardrail limits being evaluated against pooled usage instead of each subscriber's own.
* Small non-zero AI spend amounts now display as "< $0.01" instead of $0.00.
* Fixed the Azure provider view including non-AI Azure costs.
* Fixed AI by Employee empty states so teams with no data no longer show misleading date-range guidance or another team's status.
* Fixed sorting across all sortable columns in the All Employees table.
* Fixed the Performance → Traces view to show every agent involved in a trace, not just one.
* Fixed several chart display issues: black cost-distribution bars, axis label collisions, and light-mode legibility.
* Fixed the AI Insights timeout message appearing for runs that had actually completed.
* Fixed some AI Insights findings and recommendations showing a placeholder instead of the actual credential or agent name.
* Fixed cost filters being unavailable for multimodal metrics.
* Fixed Anthropic connection failing for scoped Enterprise API keys.
* Corrected setup guidance for Anthropic API keys.

### 2.18.0 (July 28, 2026)

* **Drill through almost any chart** — Click into nearly every chart to see the individual transactions behind a number, so you can go from a headline figure to the detail that explains it in one step.
* **Provider Comparison** — A new Provider Comparison tab shows spend and usage across your AI providers in a single view. (Distinct from the Provider Comparison chart template in Chart Builder.)
* **Broader activity search** — Free-text search covers the unified activity feed and the tool registry, not just completions.
* **More coding-assistant PR analytics** — The analytics API now aggregates merged pull requests and merge requests by week or by month, as well as by day.
* **Searchable team switcher** — Find and jump to a specific team from the sidebar faster.
* **Subscribers grouped by organization** — The Subscribers page now lists people under the organization they belong to in an expandable view, with a detail panel for any individual, so finding who belongs where no longer means working through one flat list.
* **API filter discovery** — Client integrations can now look up the valid metric-task-type and model-source values directly from the API instead of hardcoding them.
* **Revenium MCP server enhancements** — The self-hosted Revenium MCP server now supports managing cost-control guardrails and agents, viewing squad activity, and reading budgets, billing, and business analytics directly from your AI tools.
* **Multi-period spend budgets** — Set cumulative spend budgets against provider spend over daily, weekly, monthly, or quarterly periods, so provider-based cost controls track the same cadence your team already plans around.
* **Backend performance improvements** — A round of backend performance work makes everyday operations across the platform faster and more responsive.

### 2.17.0 (July 20, 2026)

* **Guardrails** — Manage spend notifications and hard limits in one place, with rule history and read-only inspection access.
* **Guardrail hand-off from AI-by-Employee** — Start a Guardrail prefilled from a filtered employee view, and show developers your own message when an enforced limit blocks a request.
* **New AI Insights spend detectors** — Two new checks surface cost risk automatically: one flags when your cost per call is rising faster than usage, and one flags when a single API key, subscriber, product, or agent breaks from its own historical spending pattern.
* **Automatic spend-spike explanations** — When a day's AI spend jumps, Revenium now explains the cause on the AI Assistant view: which people and usage drove the spike against their own normal, set beside what the team produced that day — so a high-spend day reads as high output rather than a surprise.
* Improved **AI Insights attribution** so each recommendation highlights the usage pattern that most sets it apart — making it faster to see why a finding was raised.
* Improved **AI spend efficiency analysis** with daily spend and token context, incomplete-day indicators, a recent-trend view across the selected period, and the option to break spend and spend-versus-token trends down by vendor.
* **Redesigned Tasks page** — The Tasks view under Costs & Revenue is redesigned with a headline spend figure, a cost-trend chart split by provider and SDK, and a per-task breakdown — so you can see spend over time per run and by task at a glance.
* **Provider spend reconciliation** — Compare billed and metered totals with clear coverage-health states and clearer handling of data gaps or unusually high ratios.
* **Billed vs metered clarity** — Every analytics surface now labels whether a figure is *Billed* (an actual provider invoice) or *Metered* (usage Revenium observes directly), so you always know whether a number is a real charge or an estimate.
* **AI-by-Employee analysis** — Filter employee-level usage by model tier, provider, and vendor, compare team benchmarks and cost per million tokens, customize table columns, and export CSVs for focused reviews.
* **GitLab integration** — Connect a GitLab group and optional project scope from the Integrations page, manage the connection, and trigger synchronization.
* **GitHub user mapping improvements** — Edit existing user mappings and map multiple GitHub accounts to a single corporate email, keeping per-employee attribution accurate.
* **Read-only role** — Give teammates view-only access across the workspace: read-only users can review dashboards, budgets, and settings without being able to create, edit, or delete.
* **Sample-data previews** — See representative analytics and assistant dashboards before connecting data or while waiting for data to arrive.
* **Provider Comparison chart template** — Create a prefilled Chart Builder dashboard that places provider billing and metered usage charts together.
* **Job grouping for cost traces** — Examine anomalies across the related trace types that make up a business process or outcome.
* **Ready-to-paste setup prompts** — Choose a coding assistant on Connections and copy the relevant setup instructions.
* **Coding-assistant activity included by default** — Logs, traces, and employee analysis now include AI coding assistant usage (Claude Code, Cursor, Copilot, and similar tools) as soon as an assistant is connected, so a new account shows data right away. Turn it off for a team when you'd rather exclude it, and the choice is remembered on future visits.
* **Custom dashboard management** — Delete custom dashboards directly from dashboard rows with confirmation, while system dashboards and read-only access remain protected.
* **Metering logs search** — Find specific completions, metrics, and tool events by identifier or attribute instead of scrolling.
* **API compatibility** — Completion-metering responses now return `transactionId`, `subscriberEmail` is accepted alongside `clientEmailAddress`, and `streamed` is accepted and returned alongside `isStreamed`.
* **Anomaly metric API migration** — Response and schema enum values now use `UPPER_SNAKE_CASE`: `TOTAL_COST`, `TRACE_DURATION`, and `TRANSACTION_COUNT`. Update response parsing and generated enum bindings; legacy camelCase values remain accepted on input.
* **Strict ingestion mode** — Optionally require metering payloads to reference only objects already set up in your account, so unrecognized records can't quietly enter your data. Rejected records are held for review and resubmission with an itemized list of what failed.
* **More reliable metering delivery** — The Python, Node.js, and Go integrations now hold and retry metering events through brief service interruptions, so your usage keeps flowing to Revenium instead of dropping when a downstream service is momentarily unavailable.
* **Deleted-transaction accuracy** — Your analytics reflect exactly the transactions you keep: anything you remove is cleanly excluded across dashboards, recommendations, employee usage, margin, ROI, cost, and assistant views — so every figure stays trustworthy.
* **Large-team dashboard performance** — Assistant dashboard charts stay responsive and readable as organizations grow.
* **Logout** — Signing out is now immediate and reliable.
* **Details dialogs** — A footer Close action keeps dialogs easy to dismiss when notifications cover the top-right control.
* **Model cost attribution** — Pricing resolves reliably from short model names, without requiring a fully qualified name.

### 2.16.0 (July 2, 2026)

* **Provider-based alerts** — Set alerts directly on provider spend and provider data sources, not just metered telemetry. A new Data Source toggle on the Create Alert flow lets you choose between Telemetry and Provider data, so cost coming straight from a provider account can trigger a notification. Alerts now evaluate per organization with isolated batches.
* **AI by Employee view** — Track per-employee AI spend, token usage, and cost efficiency across all AI sources in a single view
* **Role-based navigation** — Pick a persona for your role on first run and switch anytime from a new persona menu. Your home page, sidebar order, and highlighted insights adapt to the persona you choose; you can customize which sections appear and set a default so the app always opens the way you work.
* **Model mix and cost efficiency** — Per-user AI dashboards now center on model mix and blended cost per million tokens ($/Mtok) instead of raw token counts, and surface spend concentration so you can spot the few people or models driving disproportionate cost.
* **Connect multiple GitHub organizations** — Connect more than one GitHub organization and choose exactly which repositories to track through a new repository picker, instead of a single-organization connection.
* **Provider billing charts** — A dedicated provider billing view on the provider cost dashboard, scoped to the team you're viewing so charts reflect the active team.
* **Open team creation** — Teams can now be created without upgrading to an enterprise plan.
* **Hosted Revenium MCP server** — Connect AI agents to Revenium through the new hosted, multi-tenant MCP server with OAuth sign-in at `mcp.revenium.ai` — no local MCP server setup required.
* Fixed a **Revenium CLI** backfill bug that could overcount tokens.
* Improved **Teams management** — view team members, land on the Teams tab by default, and see role badges at a glance.
* Improved **provider cost dashboards** — provider dropdown now sourced from your connected credentials with help overlays, corrected spend-vs-tokens dual-axis charts, adaptive day/week/month granularity, and a clearer provider billing empty state.
* Fixed **Top Movers** to scope spend-vs-tokens to the active team and rank by dollar movement.
* Fixed **AI-by-employee** reporting to stop double-counting non-assistant agents and to classify corporate vs. personal domains more reliably.
* Improved **API validation** — requests with invalid product identifiers now return a clear validation error.
* Fixed a bug that created **duplicate organizations** when names differed only by capitalization.
* Fixed **metering ingest** to accept the `streamed` alias and correctly record streamed-request flags.
* **Metering responses** now include the transaction ID, so submissions are easier to trace and reconcile.
* Fixed **sign-in team assignment** so users reliably land in the correct team.
* Fixed **duplicate onboarding notifications** on first data ingest.
* Fixed **API billing analytics** to scope results to the requested team.
* Fixed the **version-update notification** being hidden behind other dialogs.

### 2.15.0 (June 16, 2026)

* **Cost analytics by AI job** — The Traces page now has a **Job** view that aggregates cost, anomalies, and trends by agentic job instead of by individual trace. See average and P95 cost per job, your most expensive jobs, and cost trends by job type — and open a job to see its transactions grouped by trace.
* **Faster dashboards** — Many complex dashboards now load faster, particularly for large accounts.
* **Click-through AI Insights** — AI Insights now shows where concentrated error cost is coming from and lets you click straight from an insight card into the filtered transactions behind it.
* **Role-restricted API keys** — Creating a write-scope API key is now restricted by role, so you can let people issue read-only keys without granting write access.
* Updated the **Revenium CLI** Copilot backfill to use GitHub's current Metrics API. (Since 2.22.0, Copilot collection runs in the Revenium backend from a provider connection.)
* Fixed categorical charts (including top tools by call count) to paginate fully instead of capping results.
* Fixed Cost Trends charts to show P95/P99 reference lines, with more consistent number and timezone formatting across dashboards.
* Fixed invoice PDF and CSV exports to return a clear not-found response when a document cannot be generated, and billing to resolve products by exact name.
* Fixed broken command-palette (Cmd+K) links and improved Subscribers and Credentials search filtering.
* Fixed sign-in to preserve your intended destination after authenticating.

### 2.14.0 (June 4, 2026)

* **AI Insights detects two new classes of waste** — `max_tokens` cutoffs (so responses are being truncated mid-thought while you pay for incomplete answers), and subscribers or agents whose AI spend has gone largely dormant. Each finding includes a dollar-quantified savings estimate and example transactions to verify it.
* **AI Insights is now available through the MCP server** — AI agents talking to Revenium via MCP can now run and read AI Insights recommendations as a first-class tool action.
* **Azure Cost Management integration** — connect your Azure subscription via a Service Principal to pull daily cost data into Revenium, with spend attributed to the specific model that drove it (the same per-model breakdown you already get for OpenAI and other providers). Supports JSON-paste for credentials and maps Azure billing errors to actionable guidance.
* **GitHub Copilot support** — track your organization's Copilot usage in Revenium and see adoption and usage on the new **Copilot dashboard**, alongside your other AI coding assistants. Copilot now connects as an organization-wide provider under **Connections > Providers**. See [Setup GitHub Copilot](/track-and-control-costs/analyze-ai-tooling-spend/setup-copilot.md).)
* **AI Assistant Pricing Mode** — a per-team setting (**Settings > AI Settings**) that controls whether AI assistant usage (Claude Code, Claude Cowork, Cursor IDE, Gemini CLI, Codex CLI, GitHub Copilot) counts as real API spend or stays as a subscription/seat-based estimate on AI Assistant dashboards, so your cost reports reflect what you actually pay.
* **Metering retries are now safe out of the box** — the `Idempotency-Key` header on metering endpoints is now enabled, and the Node, Python, Go, and MCP SDKs generate the key automatically. Retried submissions within a 24-hour window are deduplicated server-side.
* **Webhook verification helpers in every SDK** — verify HMAC-signed webhooks from Revenium with a single SDK call in Python, Node, or Go. Pairs with the server-side signing and rotation shipped last release.
* **Revenium MCP server now auto-generates Idempotency-Key on metering** — completes the SDK side of the metering-idempotency rollout for AI agents that submit usage via MCP.
* **Top Movers API now ranks by absolute dollar change** — previously sorted by percent change, which buried high-dollar moves behind tiny-customer fluctuations.
* **Python SDK fix for AWS Bedrock** — cache token counts on the Bedrock Anthropic path were previously not included.
* **Cross-SDK terminology cleanup** — `organizationName` and `productName` are now the canonical field names across every SDK, middleware, and MCP surface. The deprecated `organizationId`/`productId` aliases have been dropped from wire emission in the CLI, MCP, Node and Go middleware, n8n UI, and ingest paths.

### 2.13.0 (May 21, 2026)

* **Cursor cost tracking is now zero-setup** — paste your Cursor team API key into provider settings and Revenium pulls usage every five minutes directly from Cursor's API.
* Added **OpenAI Codex CLI dashboard** — full adoption, cost, and efficiency reporting for Codex CLI on par with the Cursor and Gemini dashboards, with Codex Desktop, App, and CLI unified as a single provider.
* **AI alert emails** now use distinct subject prefixes — `AI Anomaly Alert:` when an alert fires and `AI Anomaly Resolved:` when it resolves — so inbox filters and rules can route them separately.
* Added **HMAC signing for outbound webhooks** — verify that webhook payloads truly came from Revenium using a per-webhook signing secret, with safe rotation and a one-click test-event button.
* Added **Idempotency-Key support on metering** — retry failed metering calls safely with no risk of double-counted usage; identical retries within a 24-hour window are deduplicated server-side.
* Added **standard `X-RateLimit-*` response headers** — Revenium's API now returns predictable per-tenant request budgets with `X-RateLimit-*` and `Retry-After` headers and a documented `/integrations/rate-limits` reference, so customers can program against the limits (This is in addition to the existing 4xx-error-pattern protection shipped in v2.12.0.)
* Added a **coding-assistant pricing mode** in Team settings — choose whether coding-assistant traffic is paid for using API rates or seat-based pricing.
* Improved **AI Insights progress feedback** — determinate progress card with elapsed time, navbar spinner across all routes, sharper empty states, and a period selector on the page.
* Improved **Cost Controls notifications and UI** — fixed spend-display refresh, hard-limit display, mode column and filter parity, Slack link path, deduplicated breach notifications, and clearer "Mode" toggle states.
* Improved **subscription analytics** — user retention cohort analysis, CSV export per segment, pagination, and an unmapped-GitHub-users filter.
* Improved **Webhooks discoverability** — moved into the Alerts tab where customers already manage notification channels.
* Improved **Python SDK** with a built-in agentic outcomes API, cost-controls + circuit breaker integration, and renamed `ReveniumCostLimitExceeded` to `BudgetExceededError` for clearer error handling.
* Updated **Node middleware** with separate metering and enforcement circuit breakers so an enforcement issue cannot stop metering.
* Updated **Go middleware** to derive cost-control scope from filter dimensions.
* Fixed **traces page** chart-axis, label, and date-picker alignment on cost, performance, and efficiency views.
* Fixed **advanced search filters** silently falling back to the default date range on the Logs page.

### 2.12.0 (May 8, 2026)

* Added **AI Insights** — a new analytics surface that runs your usage data through an AI Recommendations Engine and returns prioritized, actionable findings with potential monthly savings, severity, and suggested actions.
* Added **Cost Controls** — define Budget Rules with dimensional filters, Slack and webhook notification channels, and a per-rule event log. Runtime enforcement is now available across Revenium's SDK library, including Node, Go, and Python, so spend limits are enforced at the call site.
* **Enhanced AI Coding Adoption analytics** — scatter plot grouping users by output and engagement, segment tabs and badges across the Value-by-User table, derived metrics columns (Cost per PR, Adoption rate, Tokens per Session) and session efficiency metrics.
* Added **Claude PR attribution via Co-Authored-By** — Revenium now detects Claude-assisted pull requests, attributes them to the correct user and team, and exposes a sortable PRs-with-Claude column on the Adoption tab.
* Added **provider credit tracking for AWS Bedrock and GCP Vertex** — provider-issued credits are captured, surfaced per-provider on the Provider cost dashboard, and applied in billing analytics so reported spend reflects what you actually pay
* Added **Revvy Onboarding Agent & CLI** — a new agent-driven instrumentation assistant that helps you onboard your application to Revenium. It includes an AI callsite search, code integration guidance, GitHub Actions template, and machine-readable call-site manifest for AI agents.
* Updated **MCP Server** with improved error handling and additional API coverage
* Improved **team-switch reliability** in the web application
* Improved **multimodal alert metric guidance** in the Create Alert flow
* Fixed edge case bugs in **resolved-alert notifications** that were silently failing to deliver to Slack and email

### 2.11.0 (April 23, 2026)

* Added Claude Cowork Dashboard with per-user value reporting, cost by model, token and cache utilization breakdowns, and a one-line OTLP configuration from the Claude Desktop admin UI that instruments your entire company's Cowork usage with zero per-machine setup
* Added GitHub integration for AI Coding Dashboard team attribution — map Claude Code usage to teams via PR authorship to directly correlate Claude Code usage to the outcomes that matter
* Added scoped API key permissions — create read-only, metering-only, or full-access keys per integration; legacy keys continue to work unchanged
* Added environment filtering across Logs and Traces — filter by dev, staging, prod, etc.
* Added a unified Go metering SDK with first-class support for Anthropic (streaming + vision), Google (chat, embeddings, image, video), fal.ai (Run/Subscribe/Stream), LiteLLM (with SSE streaming), and the Responses API
* Added clickable ROI cards — click any box on the ROI page to drill into detailed job filtering
* Updated MCP Server to FastMCP 3.x, Tool Registry management with pricing tiers, Jobs & Outcomes management, and expanded analytics wiring for cost-by-user and tool costs
* Improved Pricing sidebar organization by splitting Cost Sources and Revenue Sources into dedicated sections

### 2.10.0 (April 9, 2026)

* Added redesigned navigation with Costs & Revenue Attribution promoted to first-level tabs, sticky headers, and new date picker across dashboards
* Added global search command palette (Cmd+K / Ctrl+K) for instant navigation to any page or entity
* Added search and value range filtering to Jobs API, with user-supplied job identifiers as primary keys
* Added default organization preference — set your preferred organization to auto-load on login
* Added per-million-token pricing display across AI Models pages with sub-cent tooltips
* Added starred dashboards and revamped My Dashboards from card grid to sortable data table
* Added organization tree view with full hierarchy and pagination for large org structures
* Added coding assistant toggle to Logs page for filtering AI coding tool metrics
* Improved performance of AI Assistants API endpoints
* Updated MCP Server to FastMCP 3.x, added support for AI jobs, outcomes, and tool cost management
* Updated Go middleware with centralized core architecture including circuit breaker, retry, and tool event metering

### 2.9.0 (March 26, 2026)

* Added ROI Dashboard with conversion funnels, revenue vs cost analysis, job transactions, and per-job ROI tracking
* Added Cursor AI Coding Dashboard with usage reporting & subscription management
* Added Revenium Coverage Ratio showing what percentage of provider spending is metered by Revenium
* Added real-time sync status and freshness indicators to the Provider Dashboard
* Added URL-based date filter persistence across dashboards, enabling bookmarking and sharing
* Added Jobs API support to the Revenium metering SDKs
* Added fal.ai middleware wrapper for Node.js and Go
* Added LiteLLM Go middleware for LiteLLM proxy integration
* Added multimodal metering for Imagen, Veo, and Gemini Vision to the Google Python middleware
* Added LangChain SDK
* Updated MCP Server with higher-performance analytics endpoints and expanded test coverage
* Updated middleware packages across 5 providers with canonical model name resolution
* Improved AI Provider billing sync reliability — historical syncs no longer time out on large datasets

### 2.8.0 (March 12, 2026)

* Added native OpenTelemetry GenAI semantic conventions support, enabling direct ingestion from LangChain, OpenLLMetry, Traceloop, and any OTel-instrumented AI application
* Added gRPC OTLP endpoint (port 4317) for zero-configuration integration with standard OpenTelemetry exporters
* Added share-to-Slack and share-to-email for charts and dashboards
* Added Tool Registry Logs tab for reviewing tool event history
* Added budget-specific creation flow from the Budgets dashboard
* Added multimodal pricing column and provider/modality filters to AI Models pricing page
* Added custom provider support when adding new AI models

### 2.7.0 (February 27, 2026)

* Added Tool Registry Analytics Dashboard with 11 charts covering tool cost distribution, agent breakdown, and cost iceberg views
* Added full multimodal pricing: audio token pricing for GPT-4o Realtime/Transcribe, bidirectional audio cost tracking, DALL-E 3 size-variant pricing refinements, and HD TTS pricing deduplication
* Added VIDEO\_COUNT, AUDIO\_COUNT, duration, characters, and credits as first-class metrics in the alert system and chart builder
* Added Custom Dashboards with modality grouping and subscriber/user breakdowns for improved query performance
* Added provider dashboard drill-through — integration status cards are now clickable with provider-specific detail
* Added configurable concurrency for AI metrics processing
* Added subscriber/user grouping in chart builder
* Improved line item processing latency with direct async event-based processing
* Improved billing calculation performance for high-volume accounts
* Improved AI metric alert monitoring performance
* Improved element aggregation performance
* Fixed a type error in VIDEO\_COUNT/AUDIO\_COUNT alert evaluation
* Fixed customer cost query grouping and sync logs operation filter
* Fixed bar chart rendering artifacts, donut chart sizing, and y-axis label formatting

### 2.6.0 (February 19, 2026)

* Added multimodal image pricing with DALL-E 3 size-variant cost attribution for accurate per-call billing
* Added pixel-based cost calculation for image generation models
* Added FOCUS v1.0 compliant cost export, enabling direct integration with FinOps platforms
* Added customer product profitability charts to the pre-defined dashboard library
* Added session count metric to the AI traces analytics endpoint
* Added unified delete endpoint for AI metrics
* Improved metering throughput
* Improved alert monitoring performance
* Fixed bug in custom pricing support for AI completion metrics
* Fixed dashboard editing controls
* Fixed Google SSO token initialization race condition
* Relabeled "Sessions/User" to "Requests/User" on AI Coding dashboard for accuracy

### 2.5.0 (February 6, 2026)

* Added AI Coding Dashboard supporting multiple coding assistants (Claude Code, Gemini CLI) with organization-level views
* Added Connections page for unified API credential and provider integration management
* Added Custom Dashboards with improved analytics performance
* Added role-based prompt viewing permissions with admin controls
* Added Relative Change Alerts with task type filtering for monitoring usage trends
* Added OpenAI audio cost tracking for Whisper (STT) and text-to-speech services
* Added multimodal pricing sync for FAL and Runway providers
* Improved credential input UX with structured form fields for AWS Bedrock, LiteLLM, and PiAPI
* Improved query performance for trace and AI transaction endpoints
* Fixed pagination navigation and advanced search parameter handling
* Fixed SSO token handling stability

### 2.4.0 (January 23, 2026)

* Added support for Claude Code usage metering
* Added Claude Code Dashboard with cost analysis, token analytics, user attribution, and model comparison views
* Added support in all middleware for sending prompt data to revenium for analysis (requires manual opt-in)
* Added Prompt Viewer modal with message visualization, role-based coloring, and metrics context
* Added webhook notification channel for alerts with retry logic and circuit breaker patterns
* Added extended time ranges: 90 days, 6 months, 12 months, and custom date ranges for all analytics queries
* Added non-token AI cost tracking for audio, image, and video AI services
* Added Gemini CLI telemetry support
* Added Fal.ai and Runway ML integrations via Go middleware
* Added Perplexity Python SDK support
* Added connection status indicators in UI to quickly provide data ingest status
* Added multi-field search for Products API across name, owner email, and asset sources
* Simplified OpenRouter credentials management
* Improved AI transaction details modal with dedicated sections for cost, provider, timing, and tokens
* Fixed duration display inconsistencies across all views
* Fixed notification template logo display and email formatting
* Fixed Slack OAuth redirect URI handling
* Fixed chart flickering occurring in some situations


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.revenium.io/get-started/changelog.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
