Skip to content

v0.12.0

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Oct 19:19
· 3 commits to main since this release
v0.12.0
6089061

v0.12.0 Release Notes

2026-10-18

Investigate LiteLLM spend directly from a read-only database snapshot. This
version adds native export and a one-command export-then-analyze path, keeping
existing file-based analysis offline.

Use the verified installer or manual verification
with v0.12.0. Linux and macOS archives cover AMD64 and ARM64. The
manual SQL export
remains available for client certificates and other native-unsupported setups.

Native LiteLLM Export

  • export litellm --out NEWDIR writes CSV or JSONL with optional daily counters
    and routing details, using the pinned LiteLLM v1.104.0 SQL projection. Usage
    details are on by default; --usage-details=false omits them.
  • investigate --litellm-db and what-if --litellm-db export privately, analyze
    locally and clean up automatically. --keep-export NEWDIR retains the files.
    Routing details are included automatically for audit and scope use.
  • Database periods default to the last 14 complete UTC days. Standalone export
    uses --from / --to for UTC bounds. What-if keeps those flags for model IDs
    and uses --period for its date or interval.

See the native guide for first-run examples, exact
administrator-only read grants and the connection contract.

Explicit Network Boundary

Native database modes explicitly connect to PostgreSQL; file commands remain
offline. There are no telemetry, update checks or provider calls. Credentials
come only from the dedicated environment variable or an owned mode-0600 regular
file, never literal URL arguments. Inherited PG*, passfiles and service files
do not configure native connections; raw driver errors are not printed.

Remote TLS requires verify-full. Only numeric loopback and Unix sockets may
use plaintext; client-certificate and service-based setups keep the manual
psql path. Exports use one bounded read-only, repeatable-read snapshot and new
private directories without overwrites or symlink components. It
builds files in a mode-0700 sibling .fleetdiff-stage-... directory,
then atomically publishes the complete directory without replacement. The final
destination stays absent until publication; a crash beforehand may leave sibling
staging data, never a partial final directory. The
security policy
and limits describe these controls.

Ordering Change

The v0.12.0 SQL recipe now orders spend rows by "startTime", request_id COLLATE "C" and daily rows by date COLLATE "C". Native and v0.12.0 psql
exports must match byte for byte for the same snapshot and options. The earlier
recipe did not define spend-row order: export bytes, first-seen aliases and tied
report order may change, while recorded totals and identity hashing do not.
Sorting may affect export time. Compare against the v0.12.0 recipe, not a
historical unsorted export, when checking equivalence.

Verification

The dependency set adds pgx/v5 v5.11.0, pgpassfile v1.0.0 and
pgservicefile v0.0.0-20240606120523-5a60cdf6a761, retaining x/text v0.41.0.
The verification checklist
covers pinned-database byte equivalence, negative/security tests and an outsider
first run.