Skip to content

posthog-v7.38.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 19:15
Immutable release. Only release title and notes can be modified.
bac85fd

Minor changes

  • 77821ce feat: FeatureFlagEvaluations.is_enabled() accepts a default_value returned when the flag has no value in the evaluation — the key was not part of the evaluated set, or the evaluation came back empty (failed /flags request, quota limit, no resolvable distinct_id). A flag that has a value still wins, so a disabled flag returns False even with default_value=True. The default is False, so existing calls behave exactly as before. — Thanks @PostHog[bot]!

Patch changes

  • 7b6a8d8 evaluate_flags() now JSON-decodes payloads for locally-evaluated flags, the same way it already did for flags resolved remotely. Previously get_flag_payload() returned a parsed value ({"copy": "new"}) when the flag came back from /flags but the raw JSON string ('{"copy": "new"}') when the poller evaluated it locally, so the payload's type depended on where the flag happened to resolve. The $feature_flag_payload property on $feature_flag_called events is decoded for locally-evaluated flags too. Payload strings that aren't valid JSON are still passed through unchanged. — Thanks @PostHog[bot]!
  • 92625cf The $feature_flag_called dedupe tracker now evicts its oldest entry when it reaches capacity instead of clearing every entry. Previously, each time a client accumulated 50,000 distinct IDs the whole tracker was wiped, so the next flag read for every previously seen distinct ID re-emitted a $feature_flag_called event it had already deduped. — Thanks @PostHog[bot]!