v13.6.0
thedotmack/claude-memv13.6.0Jun 13, 2026by thedotmack
AI Summary
This release introduces historical telemetry backfill capabilities, allowing the application to reconstruct usage metrics like WAU/MAU and cohort retention by sending anonymized daily activity data to PostHog on the first worker start after upgrade. It emphasizes privacy by ensuring only anonymous counts are sent.
Key Highlights
- Backfills historical growth metrics (WAU/MAU, cohort retention) before telemetry existed.
- One-time backfill run on the first worker start after the upgrade.
- Privacy-focused: only sends anonymous counts (no titles, prompts, or content).
- Honors existing consent settings (`DO_NOT_TRACK`, environment variables, `telemetry.json`).
New Features
- Historical activity event ingestion (`historical_activity` events).
- New `install_inferred` event for install dates.
- Debug dry-run mode via `CLAUDE_MEM_TELEMETRY_DEBUG=1`.
- Improved legacy epoch normalization and corrupt-row guards.
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