releases.shpreview

Ad-blocker bypass for flag requests; native fullscreen captured in replay

posthog-js@1.387.0

2 features4 enhancements1 fixThis release2 featuresNew capabilities4 enhancementsImprovements to existing features1 fixBug fixesAI-tallied from the release notes

1.387.0

Minor Changes

  • #3709 c6c163a Thanks @posthog! - Add unsetPersonProperties() to remove person properties, the counterpart to setPersonProperties(). Previously the only way to unset a person property was to hand-pass a $unset array inside a capture() call. (2026-06-16)

Patch Changes

  • #3756 b3ec845 Thanks @archievi! - Drop the event and log a warning when a before_send hook removes the token property, instead of silently sending an event that ingest rejects with a 401. (2026-06-16)

  • #3860 c9c7df1 Thanks @marandaneto! - Add $unset to capture options and pass it through in browser capture payloads. (2026-06-16)

  • #3855 fadaa4f Thanks @haacked! - Stop sending the ip query parameter on feature flag requests. The flags endpoint ignores it, and some ad blockers match /flags…ip= to block flag evaluation on any domain. Dropping it from flag requests avoids the block with no functional change. Event and session recording requests are unchanged. (2026-06-16)

  • #3830 0d837f5 Thanks @dustinbyrne! - Avoid reloading exception and dead-click autocapture external scripts when they are already present. (2026-06-16)

  • #3853 f95a0ec Thanks @TueHaulund! - Capture native Fullscreen API transitions in session replay. Entering native fullscreen (element.requestFullscreen()) is rendered by the browser via the UA :fullscreen pseudo-class with no DOM mutation, so the recorder previously captured nothing and replays showed the element at its pre-fullscreen size with drifted click coordinates. The recorder now emits a reserved custom event on fullscreenchange (standard plus webkit/moz/MS prefixes), and the replayer re-applies fullscreen layout to the element on playback (including when scrubbing into a fullscreen region) via a reserved rr_fullscreen attribute, consistent with rrweb's existing rr_* attribute namespace.

    Known limitation: fullscreen of an element inside a same-origin iframe is recorded against the <iframe> element rather than the inner element, so replay pins the iframe. (2026-06-16)

  • Updated dependencies [b3ec845, c9c7df1, c6c163a]:

    • @posthog/core@1.33.0
    • @posthog/types@1.387.0

Fetched June 16, 2026