v13.6.0

Infisical/infisicalv13.6.0Jun 13, 2026by thedotmack

AI Summary

This release implements a historical telemetry backfill to reconstruct usage metrics extending back before telemetry originally existed, using one-time anonymized data ingestion.

Key Highlights

  • Historical Telemetry Backfill for growth metrics
  • One-time backfill of anonymized daily activity rollups
  • Honors consent gates like DO_NOT_TRACK
  • Runs once per install with completion marker
  • Legacy epoch normalization and corrupt-row guards

New Features

  • Historical activity event backfill
  • Install inferred event for first active date
  • Privacy-safe telemetry backfill

Full Release Notes

## 📊 Historical Telemetry Backfill

claude-mem's growth metrics now extend back before telemetry existed. On the first worker start after this upgrade, each install performs a **one-time backfill** of anonymized daily activity rollups into PostHog via historical-migration ingestion — so installs-over-time, reconstructed WAU/MAU, and cohort retention reflect real usage history instead of starting at the telemetry ship date.

### What gets sent
**Anonymous counts only — never titles, prompts, file contents, or project names:**
- One profile-less `historical_activity` event per active day: observation/session/summary/prompt counts, observation-type breakdown, session outcomes, platform buckets, subagent counts, and compression discovery-token totals — all tagged `backfilled: true`
- One `install_inferred` event carrying the install's first active date, drawn from trustworthy session timestamps

### Privacy & safety
- Honors the exact same consent gates as live telemetry: `DO_NOT_TRACK`, `CLAUDE_MEM_TELEMETRY=0`, and `telemetry.json` opt-out. Opting out before your first post-upgrade worker start prevents the backfill entirely; a later opt-in still backfills.
- Runs **once per install**, latched by a completion marker written only after confirmed delivery — failed sends retry on the next worker start, and deterministic event uuids make retries duplicate-safe.
- `CLAUDE_MEM_TELEMETRY_DEBUG=1` dry-runs the full payload to stderr without sending anything.
- Legacy epoch normalization and corrupt-row guards keep bad timestamps out of the historical record; partial days are never shipped.

Full disclosure documented at [docs.claude-mem.ai/telemetry](https://docs.claude-mem.ai/telemetry).

**PR**: #2912