Skip to content

Releases: PostHog/posthog-android

core-v6.17.2

28 May 13:41
Immutable release. Only release title and notes can be modified.
9bf5114

Choose a tag to compare

Patch Changes

  • 8fa1bfc: Retry event uploads on HTTP 408 (Request Timeout). 408 is transient and retryable, and the logs endpoint already retries it; this aligns the events endpoint with the SDK compliance contract.

server-v2.6.1

27 May 19:21
Immutable release. Only release title and notes can be modified.
7a1b476

Choose a tag to compare

Patch Changes

  • 3deea3d: Include group context in the $feature_flag_called LRU dedupe key so group-scoped flags fire a separate event for each group a user is evaluated under, instead of being dedup-ed against the first group context the same (distinctId, flagKey, value) was seen under. The groups are canonicalized order-independently so two equal maps built in different insertion orders still dedupe to one event.

server-v2.6.0

27 May 18:12
Immutable release. Only release title and notes can be modified.
862c637

Choose a tag to compare

Minor Changes

  • 1aa4328: Add request-scoped context support for server-side captures, including PostHog tracing headers, session metadata, personless fallback events, and context-aware exception capture.

core-v6.17.1

27 May 19:17
Immutable release. Only release title and notes can be modified.
7a1b476

Choose a tag to compare

Patch Changes

  • 3deea3d: Include group context in the $feature_flag_called LRU dedupe key so group-scoped flags fire a separate event for each group a user is evaluated under, instead of being dedup-ed against the first group context the same (distinctId, flagKey, value) was seen under. The groups are canonicalized order-independently so two equal maps built in different insertion orders still dedupe to one event.

core-v6.17.0

26 May 20:32
Immutable release. Only release title and notes can be modified.
6978d04

Choose a tag to compare

Minor Changes

  • 8d11398: Add public Logs API: PostHog.logger.trace/debug/info/warn/error/fatal(message, attrs?) plus a PostHogLogsConfig for serviceName, environment, resourceAttributes, rate cap, and addBeforeSend redaction hooks. Logs ship via OTLP/JSON to /i/v1/logs and pick up auto-attached attributes (app.state, distinctId, sessionId, screen name, feature flags). Matches the equivalent surfaces on posthog-ios and posthog-react-native.

  • 8d11398: Auto-attach $screen_name to every captured event after PostHog.screen() has been called (manually or via Activity-lifecycle auto-capture). Cached value is cleared by reset() and close().

    To opt out of $screen_name stamping entirely, set PostHogAndroidConfig.captureScreenViews = false and stop calling PostHog.screen() manually. Disabling captureScreenViews alone is not sufficient — a single manual PostHog.screen("Home") call will re-enable stamping.

core-v6.16.0

26 May 19:18
Immutable release. Only release title and notes can be modified.
baea369

Choose a tag to compare

Minor Changes

  • 09f86a6: Add public Logs API: PostHog.logger.trace/debug/info/warn/error/fatal(message, attrs?) plus a PostHogLogsConfig for serviceName, environment, resourceAttributes, rate cap, and addBeforeSend redaction hooks. Logs ship via OTLP/JSON to /i/v1/logs and pick up auto-attached attributes (app.state, distinctId, sessionId, screen name, feature flags). Matches the equivalent surfaces on posthog-ios and posthog-react-native.

android-v3.47.0

26 May 20:36
Immutable release. Only release title and notes can be modified.
6978d04

Choose a tag to compare

Minor Changes

  • 8d11398: Add public Logs API: PostHog.logger.trace/debug/info/warn/error/fatal(message, attrs?) plus a PostHogLogsConfig for serviceName, environment, resourceAttributes, rate cap, and addBeforeSend redaction hooks. Logs ship via OTLP/JSON to /i/v1/logs and pick up auto-attached attributes (app.state, distinctId, sessionId, screen name, feature flags). Matches the equivalent surfaces on posthog-ios and posthog-react-native.

  • 8d11398: Auto-attach $screen_name to every captured event after PostHog.screen() has been called (manually or via Activity-lifecycle auto-capture). Cached value is cleared by reset() and close().

    To opt out of $screen_name stamping entirely, set PostHogAndroidConfig.captureScreenViews = false and stop calling PostHog.screen() manually. Disabling captureScreenViews alone is not sufficient — a single manual PostHog.screen("Home") call will re-enable stamping.

android-v3.46.0

26 May 19:22
Immutable release. Only release title and notes can be modified.
baea369

Choose a tag to compare

Minor Changes

  • 09f86a6: Add public Logs API: PostHog.logger.trace/debug/info/warn/error/fatal(message, attrs?) plus a PostHogLogsConfig for serviceName, environment, resourceAttributes, rate cap, and addBeforeSend redaction hooks. Logs ship via OTLP/JSON to /i/v1/logs and pick up auto-attached attributes (app.state, distinctId, sessionId, screen name, feature flags). Matches the equivalent surfaces on posthog-ios and posthog-react-native.

android-v3.45.1

23 May 20:03
Immutable release. Only release title and notes can be modified.
24e7eb9

Choose a tag to compare

Patch Changes

  • 3cd4742: Fix session replay screenshots being dropped on screens with continuous animations (e.g. Lottie).
    Previously, any onDraw callback received while PixelCopy was in flight caused the screenshot to be discarded. Introduces isOnlyAnimationRedraw to distinguish animation-driven redraws from structural layout changes.
    Uses View.hasTransientState() on the decor view, which Android propagates up from any animating descendant, as the signal.

server-v2.5.3

21 May 15:34
Immutable release. Only release title and notes can be modified.
1b6ca70

Choose a tag to compare

Patch Changes

  • b498d90: Reject semver values with leading zeros in local flag evaluation. Per semver 2.0.0 §2, numeric identifiers must not include leading zeros — values like 1.07.3 are not valid semver and should not match targeting conditions. Both override values and flag values are now validated; invalid inputs raise InconclusiveMatchException so the condition does not match.