Skip to Content
SimulatorsPostHog changelog

Simulators

PostHog changelog

What changed in each PostHog simulator release, newest first.

v0.0.1 — 2026-11-11

  1. Capture refuses a key PostHog would refuse. POST /i/v0/e/ now answers 401 API key is not valid: <reason> to a personal API key (phx_), a key longer than 64 bytes or one with a non-ASCII character, as PostHog does, where the simulator used to accept it with 200. A well-formed key for an unknown project is still accepted.

  2. A local PostHog for the code that sends analytics events. The first release of the PostHog simulator serves event capture at POST /i/v0/e/: one JSON event per request, with your project API key in the body as api_key. A request missing the key, distinct_id or event is refused with PostHog’s status and plain-text reason. The simulator stores one event per uuid, and GET /_rystic/inspect reads the stored events back. Nothing reaches PostHog.

  3. Five scenarios to boot straight into. posthog_first_event (one server-side signup), posthog_signup_funnel (three visitors on a signup funnel), posthog_identify_handoff (one visitor from an anonymous id to an identified user), posthog_flag_experiment (a two-variant checkout experiment) and posthog_billing_backfill (five weeks of billing events for two customers). --scenario boots one, and POST /_rystic/scenario loads one without a restart.

  4. Tested against live PostHog Cloud. The newest full measurement, of 2026-11-11, matched 9 of the 9 tests that compare the simulator with PostHog (100%), and none of them was left without a verdict. The simulator’s page lists, under Limitations, the differences this release ships with, among them that PostHog’s own libraries send to routes this release does not serve.

Last updated on