Skip to content

Aireceipts

v0.2.0 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 1 known CVE

Topics

ai claude-code cli codex cost-tracking cursor
+5 more
developer-tools gemini llm opencode receipts

Affected surfaces

auth deps

Summary

AI summary

Updates Chore, SPEC-0043, and ANSI/CSI/OSC/nF across a mixed release.

Full changelog

Minor: adds adoption telemetry + a local stats command (SPEC-0043), and lands
the security/privacy hardening from the v0.1.0 release-board findings (which were
live in v0.1.1).

Added

  • Adoption telemetry v2 (SPEC-0043): a nine-event catalog (feature-usage events,
    activation milestones), a pseudonymous random-UUID install identity sent only as
    a salted hash, and a local receipts counter — all content-free, opt-out, and
    disclosed in the updated first-run notice. (#110)
  • aireceipts stats — a new command that prints your local receipts-generated /
    total-runs / first-run counts from ~/.aireceipts/state.json; works fully
    offline and even with telemetry disabled, and never leaves your machine. (#110)

Fixed

  • PR-receipt cost confidence — the implemented slices of SPEC-0044 (the spec
    stays building: its --self-check kill-criterion and cost-model docs are
    still pending, so it is not flipped to shipped):
    • Every contributor drop/degrade/lower-bound now routes through a typed
      ConfidenceEvent and surfaces in the PR receipt — no more silent drops (the
      mirror of the #87 over-credit bug); a compile-time exhaustive switch + a
      hygiene guard make "no silent wrongness" a property. (#117)
    • Oracle-independent cost matrix (scenario × agent). (#120)
    • Receipt rows now sum to the displayed total. (#121)
    • Cache-write lower-bound caveat, only when actually under-priced. (#122)
    • Silent parse-skip and load-failure drops surfaced. (#123)
    • Grandchild subagent counted once, not twice. (#124)
    • src/pr/** mutation-gated + the silent-drop guard broadened. (#126)
  • Strip terminal escape sequences (ANSI/CSI/OSC/nF) and C0/C1 control characters
    from all transcript-derived display text — session titles, tool names, and
    model-mix labels — across every adapter. A crafted transcript could previously
    emit raw escapes to the operator's terminal (e.g. recolor output or retitle the
    window via OSC-0). (#112)
  • aireceipts --list --json on zero sessions now emits valid JSON [] on stdout
    with the message on stderr, instead of plain text that broke | jq. (#112)
  • aireceipts --telemetry-show — the command that previews what telemetry would
    be sent — no longer records or flushes a cli_run event itself; previewing
    telemetry sent telemetry. (#115)
  • Bump the summary-cache version so titles cached by the pre-sanitizer parser are
    re-parsed rather than served raw. (#112)

Docs

  • Correct README/getting-started privacy and coverage claims (transcripts/code
    never uploaded; diagnostics are opt-out; supported-agent list is finite);
    sync docs/telemetry.md agent-type enums and kill-switch examples; correct the
    week --json and source entries in docs/json-schema.md; drop a stale
    pre-release note. (#115)

Chore

  • Restructure the opencode combinatorial unit test: validate all summaries from
    one listSessions() and deep round-trip only a structural-coverage sample,
    instead of reopening the SQLite DB per session (6m40s → ~20s, coverage
    retained). Local preflight-release.mjs sets AIRECEIPTS_SKIP_STRESS=1 so the
    spawn-heavy 100-session e2e stress case doesn't wedge on throttled dev macOS;
    CI runs the full suite (env unset), so coverage is unchanged.
  • Ledger: SPEC-0040/0041/0042 flipped to shipped (they shipped in v0.1.1);
    AGENTS.md current-state inventory brought up to date; CHANGELOG.md added.

Tag and Release backfilled 2026-07-05; npm was the original record of this version.

Security Fixes

  • Removal of terminal escape sequence injection vulnerability in transcript output (ANSI/CSI/OSC/nF and C0/C1 control characters)

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

Track Aireceipts

Get notified when new releases ship.

Sign up free

About Aireceipts

All releases →

Related context

Earlier breaking changes

  • v0.9.0 `--json` export schema moves to version 2, changing `totalUsd` semantics.
  • v0.7.2 PR-receipt refs now written under `refs/aireceipts/*` instead of `refs/receipts/*`.

Beta — feedback welcome: [email protected]