Skip to content

Migrating to 0.8

0.8.0 wraps every report’s --json output in a versioned envelope and renames three payload fields. Terminal and Markdown output are unchanged.

Old New
report payload at the top level payload under .data (top level is { "schemaVersion": 1, "report": "<name>", "data": ... })
wrapped totalCostUsd costUsd
optimize savingsPct (0-1 fraction) savingsRatio (same 0-1 fraction)
compare deltaPercent (0-1 fraction) deltaRatio (same 0-1 fraction)
compare --json diagnostics object removed from the body (diagnostics stay on stderr)

efficiency --json data is always { "grouping", "rows" }; the bare rows array for the default grouping is gone.

The report payload moved under .data. A pipeline that previously read the usage rows from the top level:

Terminal window
llm-usage daily --json | jq '.'

now unwraps the envelope first:

Terminal window
llm-usage daily --json | jq '.data'

Every payload has a published JSON Schema (draft 2020-12), for example report-usage.v1.schema.json. The full schema table is in Output Formats.