What shipped, when
Sprint-by-sprint history. We mirror our internal SPEC versions here in plain language — categorized, dated, and linked back to the source PR or ADR so you can read the mechanics if you want them.
Five GTM-readiness stories shipped together: /vs comparison landing pages for GA4, Plausible, Segment, PostHog, and Snowplow; an inline activation checklist on the Overview page that reads real onboarding signals; a subcommand-aware install.sh + one-shot migrator container for self-host; the public /status page with rolling 30-day uptime per endpoint; and a one-click "Copy AI handover prompt" on Get Started.
console-api, collector, and consent-engine each keep one machine warm in Frankfurt. Health checks now sit at 0–1 ms steady state with no recovery latency, and external probes confirm sub-second responses end-to-end across five consecutive cold-start tests.
Both SDKs ship with zero third-party dependencies, disk-backed offline buffers (10k events, FIFO), consent-first defaults (drops events when analytics consent is denied), and a wire shape identical to sdk-web. 31 unit tests across the two languages cover consent packing, queue persistence, and fake-transport integration. Phase 2 of the platform roadmap is now complete.
Full redirect chain green: /login → identity provider → /callback → session cookie + 302 to dashboard. Postgres rows, sso_user_identities link, and workspace_members grant verified live. Two E2E bugs caught and fixed during verification (mock-oidc body-consumed-then-ParseForm, and an auto-provision INSERT into a view).
docs/compliance/ ships TSC→controls→evidence mapping, six core policies (info-sec, access, change, incident, vendor, retention), an evidence catalog with per-control artefact pointers, and a vendor inventory seeded with 14 entries. ~90% of CC6-series controls resolved to green by existing Phase-1/2 code. Auditor engagement scheduled Q3 2026.
Picked Sentry's Functional Source License over MIT/Apache (cloud-vendor freeloader risk), AGPL-3.0 (enterprise-legal grep-fail), and BSL-1.1 (longer conversion + broader non-compete). Change Date for v1.0 is 2028-04-19; on that date every file flips to Apache-2.0 automatically.
Customers tag events with experiment_name + variant; we own the definition + significance math. Pure-TypeScript stats library: pooled-z and un-pooled CI, Wilson-score CI, χ² with incomplete-gamma for multi-variant omnibus. Cross-checked against R prop.test. 600/600-user live E2E ran significant at 95%.
first-touch, last-touch, linear, time_decay, Markov removal-effect, and Shapley Monte-Carlo. Path extraction stays in SQL (dialect-neutral, 2M-row cap), model fit happens in Node — keeps BYO ClickHouse, BigQuery, and Snowflake on parity. Live-verified on 1192 rows / 37 conversions; every model returns weights summing to total conversions with theoretically expected behaviour.
Mirrors the Reddit shape: HandleEvent / HandleAudienceSync / RemoveSubject across the same OAuth2 refresh flow. Live-verified end to end with a $79.99 checkout event + 2-user audience ADD + DSAR REMOVE.
Three-entry-point shape (HandleEvent → conversions/events, HandleAudienceSync → custom_audiences/users, RemoveSubject → ?delete=true) with OAuth2 refresh-token caching. DSAR delete fanned across audience_map automatically.
Operators flip streaming_enabled on a byo_snowflake target and the collector swaps from MERGE to Streaming REST v2 (HTTP-only, no SDK). Lazy channel open, append-rows per batch, channel re-open on append failure, fall-back to MERGE on construction failure. Live-verified zero MERGE calls under streaming.