github PostHog/posthog-js posthog-js@1.387.0

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

Don't miss a new posthog-js release

NewReleases is sending notifications on new releases.