Leaf
Changelog
Release notes and notable changes. Current version: v1.4.19
v1.0.14
Faster rebuild overlap and BigQuery save fix
- Cache rebuild runs conversion sales in parallel with events-fusion; home reuses that firstPaying map instead of a second full sales scan.
- Timescale stream page size raised to 5k rows to cut Hyperdrive round trips.
- BigQuery connection test on save uses INFORMATION_SCHEMA instead of scanning events_* under a 10MB cap — GA4 dataset save no longer fails with “bytes billed” errors.
v1.0.13
Faster cache rebuilds and home per-app metrics
- Cache rebuild fuses conversion + installs into one event scan, and chart histories into one sales pass — fewer full Timescale streams on large accounts.
- Home app filter on large accounts uses bounded live compute (14-day events + home sales window) instead of the “Per-app view limited” banner with empty 7-day cards.
- Test fixture fixes for churn/traffic “now” injection and MRR comparison/asOf edge cases.
v1.0.12
Post-migration docs and dead-code cleanup
- Removed unused collect* helpers, D1 batch/stream retry exports, and the one-off check-timescale-duplicates script.
- Renamed d1-stream → analytics-stream to match Timescale-only reads.
- Docs updated for completed hybrid architecture (no in-progress phases, no docker-compose/backfill leftovers).
v1.0.11
Fix homepage after D1 raw table drop
- Stop updating dropped D1 subscription_sales / app_events tables during partner bootstrap — that caused “Database tables are missing” and a false “Partner API not configured” banner in production.
v1.0.10
Phase 7 cleanup, faster installs rebuild, app-filter caches
- Phase 7: dropped empty D1 subscription_sales / app_events tables; removed d1-store and dual-store — analytics are Timescale-only.
- Installs-history cache rebuild fused to a single event scan (was five parallel full passes) — expect a large speedup on large datasets.
- App filter on large accounts serves dashboards from cache instead of hitting the live-compute block (empty charts + misleading “Charts are being prepared”).
- Install chart yearly bars no longer overflow their slots; clearer banner when per-app view is cache-limited.
- Docs and scripts updated for Timescale-only backend (README, partner-api-sync, migration plan).
v1.0.9
Faster home metrics, all-time installs chart fix
- home-metrics rebuild uses a single 14-day bounded event scan (occurredAtMin) instead of two full history passes — ~31m → ~5m on large datasets.
- Fix all-time installs chart: yearly history always counts full event history; year buckets span from first data year; cache stores snapshotAllTime for correct headline totals.
- Homepage subtitle states the 7-day rolling window (comparison badges stay compact, without “vs previous 7 days”).
- Fix Plans dashboard fallback when live compute is blocked (empty plan history shape).
- Tests for yearly install history and home-metrics event scan.
v1.0.8
Faster conversion cache rebuild and live progress
- Conversion cache rebuild fused to two streaming passes (one event scan, one sales scan) instead of ~9 — expect conversion-cache to drop from ~57m to ~10–15m on large datasets.
- rebuild-cache shows live sale/event row counts during streaming phases; phase logs no longer overwrite the progress line on TTY.
- rebuild-cache --quiet suppresses live progress; --help documents options. Totals read from Timescale without blocking the progress tracker.
- Docs: DigitalOcean Timescale is Apache-only (no compression or continuous aggregates); added Mantle Brain comparison guide.
- Parity tests for conversion-cache fusion and rebuild progress helpers.
v1.0.7
Integrity checks and Phase 5 test coverage
- check:integrity reads row counts from Timescale (via AnalyticsStore) instead of legacy D1 tables.
- Integrity logic covered by unit tests (validators, analytics stats, per-partner check orchestration).
- Streaming rebuild parity tests confirm iterate* output matches legacy compute on fixture data.
- Timescale hybrid migration doc: Phase 5 complete; Phase 6 production validation is next.
v1.0.6
Homepage delta fix and cache rebuild timings
- Fix inflated Installs (7d) and Conversion (7d) comparison badges when served from cache — cache rebuild now loads 14 days of install events for current vs previous rolling windows.
- rebuild-cache prints per-phase timing breakdown (total elapsed plus each phase, sorted slowest first).
- Run npm run rebuild-cache after upgrading to refresh homepage deltas.
v1.0.5
Charts, homepage pillars, and sidebar
- Dynamic Y-axis labels on all charts, with padding that adapts to label width.
- Chart tooltips stay inside the chart area, do not wrap, and wide charts scroll horizontally.
- Homepage metrics grouped into Growth & Acquisition, Monetization, and Retention & LTV pillars.
- Coming soon cards for ARPU, LTV, and App Store listing → install conversion.
- Version and changelog links moved to the sidebar; homepage comparison badges omit “vs previous 7 days”.
- “Charts are being prepared” message shortened; roadmap doc added for planned metrics.