Skip to content

Aireceipts

v0.8.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

ReleasePort's take

Moderate signal
editorial:auto 11d

Aireceipts v0.8.0 adds a statusline command to pick the newest session for a path and introduces persistent default segment configuration via `~/.aireceipts/statusline.json`.

Why it matters: The new `statusline --cwd <path>` workflow streamlines session selection, while `statusline.json` enables stable, reusable UI layouts across sessions.

Summary

AI summary

Updates feat, chore, and fix across a mixed release.

Changes in this release

Security Critical

Addressed Node CVE-2024-27980 hardening affecting .cmd execution on Windows.

Addressed Node CVE-2024-27980 hardening affecting .cmd execution on Windows.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

`aireceipts statusline --cwd <path>` selects newest session for specified path.

`aireceipts statusline --cwd <path>` selects newest session for specified path.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Low

`~/.aireceipts/statusline.json` configures persistent default segment list for statusline.

`~/.aireceipts/statusline.json` configures persistent default segment list for statusline.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Low

Telemetry event `integration_surface_rendered` gains `scoped` and `configFile` booleans.

Telemetry event `integration_surface_rendered` gains `scoped` and `configFile` booleans.

Source: llm_adapter@2026-07-16

Confidence: high

Dependency Low

OpenSSF Scorecard hardened with esbuild override for open advisory and absolute SECURITY.md link.

OpenSSF Scorecard hardened with esbuild override for open advisory and absolute SECURITY.md link.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

Fixed Windows-specific issues in CI: shell requirement for .cmd, line-ending exemptions, and path resolution behavior.

Fixed Windows-specific issues in CI: shell requirement for .cmd, line-ending exemptions, and path resolution behavior.

Source: llm_adapter@2026-07-16

Confidence: high

Bugfix Medium

CLI performance improved ~3.5× for sqlite-backed session reads.

CLI performance improved ~3.5× for sqlite-backed session reads.

Source: llm_adapter@2026-07-16

Confidence: low

Other Low

Added `windows-latest` CI job covering cwd matching, statusline suites, and built-CLI e2e tests.

Added `windows-latest` CI job covering cwd matching, statusline suites, and built-CLI e2e tests.

Source: llm_adapter@2026-07-16

Confidence: low

Other Low

Hardened `pr-check` workflow with `continue-on-error` and concurrency groups.

Hardened `pr-check` workflow with `continue-on-error` and concurrency groups.

Source: llm_adapter@2026-07-16

Confidence: low

Full changelog

Minor: the statusline now works at the terminal level — tmux, starship, zsh/bash,
PowerShell, terminal titles — so Codex and opencode sessions get a live cost line too,
not just Claude Code.
Neither Codex nor opencode exposes a command-backed status hook
(openai/codex#17827 and sst/opencode#8619 are open), so the surface moved to the
terminal itself (SPEC-0075, PRs #217/#221).

feat

  • aireceipts statusline --cwd <path> selects the newest session attributed to that
    path
    instead of the machine's globally newest one, so a tmux status-right line
    (--cwd "#{pane_current_path}") shows each pane its own session. Attribution is
    guarded: Claude Code's lossy project-directory encoding is confirmed against the
    transcript's own recorded cwd after load, sessions launched from the home directory
    (or /) never ancestor-match everything, dot-segments resolve lexically, full-parse
    work is capped, and no match renders the neutral placeholder — never another
    project's line. Cursor sessions carry no cwd and are excluded. Relative paths resolve
    against the invocation directory; a usable Claude Code stdin payload still wins.
    Recipes for tmux, starship, plain zsh/bash, PowerShell, and OSC terminal titles are
    in docs/statusline.md — the Claude Code native statusLine hook remains the
    recommended (richer, faster) surface where it exists (PRs #217, #221).
  • ~/.aireceipts/statusline.json ({"items": ["brand", "cost", …]}) sets a persistent
    default segment list for the statusline. Precedence: explicit --format > config
    file > built-in default. An invalid file degrades to the default line with one stderr
    note (exit 0); the --format flag keeps its fail-fast contract (PR #221).
  • Telemetry: --cwd invocations are polling surfaces, so they count locally but never
    network-flush (a 15-second tmux poll adds zero events). The
    integration_surface_rendered event gains scoped and configFile booleans — never
    the path or the format string (docs/telemetry.md, PR #221).

fix

  • The published CLI is ~3.5× faster wherever sqlite-backed sessions (opencode,
    Cursor) are read
    (PR #214). tsup's removeNodeProtocol default rewrote
    import("node:sqlite") to import("sqlite") in dist/, which fails at runtime, so
    every published build silently fell back to spawning the sqlite3 CLI per query —
    measured 4.0s → 1.15s for one statusline render on a sqlite-heavy machine. On
    Node ≥ 22.13 the sqlite3 binary is no longer needed at all; older runtimes keep the
    fallback. Built-artifact regression tests now pin the import specifier and the
    in-process read path.

chore

  • CI gains a windows-latest job (cwd matching, statusline suites, built-CLI e2e). Its
    first runs surfaced and fixed three real Windows issues: .cmd spawns need a shell
    under Node's CVE-2024-27980 hardening, goldens/fixtures gained -text line-ending
    exemptions, and absolute POSIX paths are never drive-prefixed by path.resolve
    (PR #221).
  • OpenSSF Scorecard hardening: esbuild override for the open advisory, absolute
    SECURITY.md link (PR #212); adopter pr-check workflow hardened with
    continue-on-error + concurrency groups (PR #207).

Rendered receipt output is byte-identical (receipt goldens unchanged; the help golden
gains the --cwd line); the default statusline
line renders through the exact same code path as 0.7.2 when neither --cwd nor a
config file is present.

Security Fixes

  • CVE-2024-27980

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

Related CVEs

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]